本文向大家展示一个自动远程登录的脚本
下面的这个 expect 脚本可以模拟自动登录,并执行某些操作
#!/usr/bin/expect --
# test_telnet.exp
set prompt "(%|#|>|\$) $";#default prompt
eval spawn telnet $argv
set pid $spawn_id
sleep 5
expect {
-re "(.*)\r"
-re "(.*)\n"
-re "(.*)login:" {send "username\r"; exp_continue}
"^Password:" {send "password\r"; sleep 5; exp_continue}
-re $prompt {send "nohup ps ax > ~/test.$pid\r";sleep 100000}
}
exit
下面的脚本调用上面的 expect 脚本并支持循环
#!/bin/sh
if [ x"" == x ] || [ x"" == x ]; then
echo "usage: test.sh <servipaddr> <loops>"
exit 1
else
server=
loops=
fi
typeset -i i
for ((i=$loops; i>0; i--))
do
expect test_telnet.exp $server &
sleep 5
done