TCL Script - espera quando scp é feito

1

Atualmente, tenho um script tcl que envia um .tar.gz para um servidor remoto.

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

No entanto, parece que meu extrato não funciona porque o scp não foi totalmente concluído. Existe uma maneira de verificar programaticamente quando o scp está completo?

    
por Arnold Lam 31.08.2016 / 18:10

1 resposta

3

Você pode esperar que o primeiro spawn termine seguindo-o com

expect eof

ou se preferir, pode capturar e testar o código de retorno

catch wait result
if [lindex $result 3] { send_user "fail\n";  exit 1 }
send_user "ok\n"
    
por 31.08.2016 / 18:22

Tags