Я довольно долго борюсь, но я не могу заставить его работать ... Скрипт запущен на сервере HPUX 11.31 ... Пробовал гуглить и тестировать много вариантов, но ни один не работает ... любая идея? Кажется, что пароль вставлен, но не выполняется ["ввод не нажат"] Большое спасибо за совет.
Домашняя страница: cat MyScript.exp
#!/usr/local/bin/expect -d
set prompt {[#$] }
lassign $argv username server password
spawn /usr/bin/ssh $server -l $username ls -la /folder | /usr/bin/grep -c -i "MyFile"
expect {
"*password:*" { send "$password\r" }
}
---- отладка запустить ----
Home: ./MyScript.exp MyUserName MyServer MyPassword
expect version 5.45
argv[0] = /usr/local/bin/expect argv[1] = -d argv[2] = ./MyScript.exp argv[3] = MyUserName argv[4] = MyServer argv[5] = MyPassword
set argc 3
set argv0 "./MyScript.exp"
set argv "MyUserName MyServer MyPassword"
executing commands from command file ./MyScript.exp
spawn /usr/bin/ssh MyServer -l MyUserName ls -la /folder | /usr/bin/grep -c -i MyFile
parent: waiting for sync byte
parent: telling child to go ahead
parent: now unsynchronized from child
spawn: returns {18256}
expect: does "" (spawn_id exp4) match glob pattern "*password:*"? no
MyUserName@MyServer's password:
expect: does "MyUserName@MyServer's password: " (spawn_id exp4) match glob pattern "*password:*"? yes
expect: set expect_out(0,string) "MyUserName@MyServer's password: "
expect: set expect_out(spawn_id) "exp4"
expect: set expect_out(buffer) "MyUserName@MyServer's password: "
send: sending "MyPassword\r" to { exp4 }