ビルドコマンドが見つかりません

ビルドコマンドが見つかりません

スポーンコマンドを使用してリモートサーバーに接続し、いくつかのコマンド/スクリプトを実行しようとしています。

スクリプトは次のとおりです。

#!/usr/bin/expect
for i in `srvctl status database -d PROD | awk -F " " '{print $(NF)}'`
do
echo "value of i is $i"
spawn ssh "$i"
echo "vijay"
done

これが出力です

bash-3.2$ sh a.sh
value of i is prod1
a.sh: line 8: spawn: command not found
vijay
value of i is prod2
a.sh: line 8: spawn: command not found
vijay

RHEL 5.11を使用しています。

 bash-3.2$ expect -v
 expect version 5.43.0

よろしくお願いします。

答え1

次のようにスクリプトをシェルの引数として実行すると、次のようになります。

sh a.sh

shebangは無視され、スクリプトがa.sh解釈されますshspawnシステムに対応するコマンド(spawn特定のコマンド)がないため、expectシェルでそのエラーが発生します。

あなたのShebangがあることを考えると、スクリプトには非特定のコマンドがたくさん#!/usr/bin/expectあるので、何をしたいのかは不明です。spawnexpect

関連情報