TCL 스크립트 - 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가 완료되면 프로그래밍 방식으로 확인하는 방법이 있습니까?

답변1

다음 명령을 사용하여 첫 번째 빌드가 완료될 때까지 기다릴 수 있습니다.

expect eof

또는 원하는 경우 반환 코드를 캡처하고 테스트할 수 있습니다.

catch wait result
if [lindex $result 3] { send_user "fail\n";  exit 1 }
send_user "ok\n"

관련 정보