2016-12-22 7 views
1

Я хочу, чтобы захватить весь вывод УПП автоматизированного сценария и переместить весь вывод в лог-файлЗахват с Ожидайте SCP Script

Мой сценарий:

#!/usr/bin/expect -f 
spawn bash -c "scp /home/abc/pdf/105784/*.pdf [email protected]:/home/labdb2/Desktop/l/" 
expect { 
    -re ".*sword.*" { 
    exp_send "[email protected]\r" 
    } 
} 
interact 

выход: -

./exp_test.sh 
spawn bash -c scp /home/abc/pdf/105784/*.pdf [email protected]:/home/labdb2/Desktop/l/ 
[email protected]'s password: 
104_105856_adhikari.pdf        100% 10KB 9.8KB/s 00:00 
134_105856_adhikari.pdf        100% 10KB 9.9KB/s 00:00 
135_105856_adhikari.pdf        100% 10KB 9.8KB/s 00:00 
193_105856_adhikari.pdf        100% 10KB 9.8KB/s 00:00 

Я хочу, чтобы все выходные данные в файле журнала отображали имя scp_log.txt, также я не хочу в scr ееп для отображения ниже вещь

spawn bash -c scp /home/abc/pdf/105784/*.pdf [email protected]:/home/labdb2/Desktop/l/ 
[email protected]'s password: 
+0

Префикс кода с четырьмя пробелами. Пожалуйста, взгляните на [edit-help] (http://stackoverflow.com/editing-help). – Cyrus

ответ

0

IO Перенаправление вещь, которую вы хотите использовать:

spawn bash -c "scp /home/abc/pdf/105784/*.pdf [email protected]:/home/labdb2/Desktop/l/ &> scp_log.txt" 

или просто вызвать скрипт, как

./exp_test.sh &> scp_log.txt 
0

Если вы заинтересованы в чистой Ожидать но вы должны использовать log_user.

#!/usr/bin/expect -f 
log_user 0; # Disabling logging to user window 
log_file -a -noappend scp_log.txt 
spawn bash -c "scp /home/abc/pdf/105784/*.pdf [email protected]:/home/labdb2/Desktop/l/" 
expect { 
    -re ".*sword.*" { 
    exp_send "[email protected]\r" 
    } 
} 
interact 

Если вы хотите, чтобы включить ведение журнала для пользователя, то вы можете использовать log_user 1 сделать то же самое.

+0

, но все же я получаю на выходе экрана как: 104_105856_adhikari.pdf 100% 10KB 9.8KB/s 00:00 134_105856_adhikari.pdf 100% 10KB 9.9KB/s 00:00 135_105856_adhikari.pdf 100% 10KB 9.8KB/s 00 : 00 – Rishabh