Про expect

Jan 19, 2011 18:56


Добрый вечер, милостивые господа.

Во второй пятиминутке я хочу рассказать вам о такой замечательной утилите, как expect. Если вы не знаете, что это такое, то будьте уверены - до этого момента ваша жизнь была бессмысленной и полной страданий - даже если вы этого не замечали.

Для чего она? Все просто - с помощью expect вы можете автоматически ( Read more... )

обосраться, Роботы победят, пятиминутка

Leave a comment

Comments 2

anonymous February 15 2013, 06:33:57 UTC
А как бы ему еще передать Ctrl+C если, например, пароль к SSH не подходит?
send \003 работать почему-то отказывается

Reply

mi_ga February 15 2013, 07:31:36 UTC
Ждет, пока спросят пароль, говорит его, если спрашивает еще раз - скрипт завершается.

spawn ssh -oStrictHostKeyChecking=no -ttt $host $cmd
expect {
"?assword*:*" {
send -- "$password\r"
}
eof { exit }
}
expect {
"?assword*:*" {
send -- "$password\r"
expect {
"?assword*:*" {
puts stderr "\n$host: wrong password!\n"
exit
}
eof { exit }
}
}
eof {
exit
}
}

А вообще, в expect(1) есть такая команда, как close - закрывает то, что открыл spawn.

Reply


Leave a comment

Up