2017-07-16 21 views
0

SSH接続を介してサーバーに接続していくつかのコマンドを実行するスクリプトを作成しようとしています。最初の部分は動作しますsshがプログラムで接続してコマンドを実行する

#!/usr/bin/expect -f 
spawn ssh address 
expect "password:" 
send "password\r" 
interact 

が、その後、私はいくつかのより多くのコマンドを実行したい、例えばcdディレクトリに、などいくつかのより多くのスクリプトを起動し、これらのものを実装する方法はありますか?次

答えて

1

試してみてください。

#!/usr/bin/expect 
set login "any_user" 
set addr "some_address" 
set pw "any_pwd" 

spawn ssh -t [email protected]$addr 
expect "[email protected]$addr\'s password:" 
send "$pw\r" 
expect "~" ; # put here string from your server prompt 
send "mkdir some_dir\r" 
interact 

これは、コマンドの一つであり、あなたもそれにCDのような他のコマンド、任意の他のスクリプトを試してみて、任意のクエリ場合はお知らせがあります。

+0

はい、これが動作します。 ありがとうございます! 私が理解するように、私は何かを送るときはいつもexpectコマンドを設定する必要があります – Anton

関連する問題