我使用期望建立一個持久的ssh連接的bash +想到,在後臺
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}
}
可惜我不能設法把這個變成後臺運行,我triend expect_background,叉+ disconect但沒有運氣。 即使是從另一個腳本運行此
excpect -f script.ex param1 param2 &
但沒有運氣。任何幫助?
不幸的是,這並不能很好的滿足預期。執行後,沒有ssh進程在運行。 –
兩個問題......首先,當你把這個放在背景中時,「互動」的意義是什麼?第二......這個工作沒有在前臺觸摸它嗎? –
好點,我是新的期望,只是交友我去複製一個腳本。 ;-)是的,這在手動運行時工作正常。 –