2017-04-21 9 views
0

私はシェルスクリプトを表示するアプリのバージョン番号

#!/bin/sh 
appVersion=$(ssh [email protected] find '/dir1/dir2/dir3' -type f -name "file.json" -exec grep "version" {} \;| awk -F ': ' '{print $2}' | sed 's/\"//g') 
echo $appVersion 

残念ながら、以下の例外に 検索取得しています以下のコマンドを使用して、アプリケーションのバージョンを取得しようとしています: `「-exec

に不足している引数をしてくださいこの問題を解決するのを手伝ってください。

+0

ため単一引用符を使用する必要がありますあなたは '-exec'コマンド'のターミネータを二重にエスケープする必要はありません\ \\; '? (1回は '$()')と1回はリモートシェルのために) – AlexP

答えて

0

期待どおりに動作する以下のスクリプトを実行します。 あなたはSSH経由でコマンドを実行すると、あなたが複数のコマンド

#!/bin/sh 
appVersion=$(ssh [email protected] 'find '/dir1/dir2/dir3' -type f -name "file.json" -exec grep "version" {} \;| awk -F ': ' '{print $2}' | sed 's/\"//g'') 
echo $appVersion 

Refer this link for further details

+0

ありがとう、しかし、私はこれを実行したときに私は空の応答を得て、ここに完全なスクリプトを置く。何かが間違っていた、提案してください – Arun

+0

#!/ bin/sh が-aサーバ=(サーバー) jsonName =(file.json) serverLen = $宣言{#サーバを[@]} ための((i = 0; iは<$ {serverLen}; i)は++) が行う のappversion $ {jsonName [$ i]} "-exec grep"バージョン "{} \; '| awk -F': '' echo "appversion is" $ appVersion done – Arun

+0

結果 appversionは – Arun

関連する問題