2012-04-09 5 views
0
#!/usr/bin/expect 
spawn ssh [email protected]$abc123.net 
expect "password" 
send "helloworld\n" 
send "cd /tmp\n" 
send "sh rename.sh\n" # this shell script will get a list of files and rename each file 
send "exit\n" 
expect eof 

Проблема заключается в том, когда 'rename.sh' начала и в течение менее чем за 3 секунды, 'expect' сценарий завершается, пока 'rename.sh' еще не сделано казнены.вызов и выполнить скрипт внутри ожидать скрипт

Мой вопрос в том, как заставить сценарий ожидания ожидать окончания выполнения 'rename.sh'?

+1

Пожалуйста, если вы нашли ответ, который решает проблему, ** принимать **, щелкнув по зеленому тику. Благодаря! –

ответ

0

Я наконец понял, что отключение таймаута в начале будет работать.

0

вы можете использовать тайм-аут в сценарий ожидать

Пример: установить тайм-аут < в секундах>

набор тайм-аут 8

+0

Это не очень удовлетворительное решение. Что произойдет, если для выполнения команды требуется более 8 секунд? –

Смежные вопросы