2016-09-26 18 views
0

リモートサービスのホスト名をスクリプトで使用します。 このコマンドをスクリプトで試していますが、動作していません。bashスクリプトを使用してリモートインスタンスのホスト名を取得する方法は?

#!/bin/bash 

host= $(ssh -i keylocation [email protected] sudo echo $HOSTNAME) 
echo $host 

それは私に次のエラーを与えている: ./changeconfig.sh:3行目:ホスト名(実際のホスト):コマンド

を発見していない誰も私を助けてくださいことができます。

答えて

1

あなたのコードには2つの問題があります。

  1. スペースがhost=後には重要ですので、あなたはそれを削除する必要があります。
  2. 変数$HOSTNAMEは、ローカルbashによって展開されます。

これを試してみてください:

host="$(ssh -i keylocation [email protected] hostname)" 

host="$(ssh -i keylocation [email protected] echo '$HOSTNAME')" 

か、これは私がsudoを削除し、通常はホスト名を取得するために必要とされていません。

+0

あなたの答えをありがとう、あなたの迅速な対応を感謝します。私は別のコマンドとして使用しているが、スクリプトでは動作していないときに動作しています。同じエラーが表示されます。 –

+0

ありがとうございました。 –

+0

その時私は今それを受け入れることを許していませんでした。 –

関連する問題