次の期待スクリプトがあります。
#!/usr/bin/expect
.....
spawn passwd
expect "password:"
send "password"
....
....
....
~/test.sh
これを行う間は、bashスクリプトを実行できませんtest.sh
。
ExpectスクリプトでLinuxコマンド/bashスクリプトを実行するには?
答え1
exec
通常、出力を収集してリダイレクトするtclコマンドを使用できます。
#!/usr/bin/expect
...
exec ~/test.sh >@stdout
答え2
まず、spawn
を使用してスクリプトを実行する必要があります。チルダの構文が解釈されるかどうかはわかりません。
spawn /bin/bash /home/username/test.sh
これが発生するとエラーメッセージが表示されます。理解できない場合は質問に追加する必要があります。