set stb_ip [lindex $argv 0]
spawn -noecho ssh -o ControlMaster=auto -o ControlPath=/tmp/ssh-master-%[email protected]%h:%p -o ConnectTimeout=1 -O exit [email protected]$stb_ip
spawn -noecho ssh -fN -o ControlMaster=yes -o ControlPath=/tmp/ssh-master-%[email protected]%h:%p -o ControlPersist=360 -o ConnectTimeout=1 [email protected]$stb_ip
expect {
-re ".*password:" {send "\r"; interact}
}
は、残念ながら私は背景にこれを入れて管理することはできません永続的なSSH接続を確立することを期待して使用してい
で実行して、期待して、私はexpect_background、フォーク+ disconectが、運をtriend 。 はさえtriend
excpect -f script.ex param1 param2 &
でなく、運を別のスクリプトからこれを実行しています。どんな助け?あなたのスクリプトは、「フォアグラウンド」で働くと仮定すると、
残念ながら、これは期待どおりには再生されません。実行後、sshプロセスは実行されません。 –
2つの質問...まず、これをバックグラウンドに置いているときに "相互作用する"のポイントは何ですか?二番目...これはフォアグラウンドで触れることなく機能しますか? –
良い点は、私が期待していただけでなく、私がコピーしたスクリプトのインタラクションを解除することに新しいことです。 ;-)そして、はい、これは手で実行すると正常に動作します。 –