Scp
TCL 腳本 - 期待 scp 完成時
我目前有一個將 .tar.gz 發送到遠端伺服器的 tcl 腳本。
spawn scp -r "file_to_send.tar.gz" $user@$host:/ set timeout 10 spawn ssh $user@$host expect "password: " send -- "$passwd\r" send -- "tar -zxvf /file_to_send.tar.gz\r" sleep 1
但是,我的提取似乎不起作用,因為 scp 沒有完全完成。有沒有辦法以程式方式檢查 scp 何時完成?
您可以通過跟隨它來等待第一個生成完成
expect eof
或者,如果您願意,您可以擷取並測試返回碼
catch wait result if [lindex $result 3] { send_user "fail\n"; exit 1 } send_user "ok\n"