0
我正在執行遠程腳本並檢查腳本的返回狀態,但是如果我按照以下方式執行,它將返回密碼的狀態而不是被調用腳本的狀態。如何才能獲取被調用腳本的返回狀態。請提前幫助感謝。在Expect中獲取遠程腳本的結果
#!/usr/bin/expect
proc auto { } {
global argv
set timeout 120
set ip XXXX.XXX.XX.XX
set user name
set password pass
set ssh_opts {-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no}
set script /path-to-script/test.sh
spawn ssh {*}$ssh_opts [email protected]$ip bash $script {*}$argv
expect "Password:"
send "$password\r"
send "echo $?\r"
expect {
"0\r" { puts "Test passed."; }
timeout { puts "Test failed."; }
}
expect eof
}
auto {*}$argv
謝謝格倫傑克曼 – marjun