参考
cronで動かす場合
- interact
+ expect eof
+ exit
環境変数の参照の仕方
$env(HOME)
ポートフォワード後コマンド実施
vnc_connect.expect
# !/usr/bin/expect
set timeout 3
spawn ssh -NL 5901:localhost:5901 myserver
spawn vncviewer -bgr233 localhost:5901
expect "Password: "
send "パスワード\n"
interact
rdp_connect.expect
# !/usr/bin/expect
set timeout 3
spawn ssh rdpserver
# ssh接続されるまで時間がかかる場合、sleep入れると解決した
sleep 2
spawn rdesktop localhost:3389 -u user1 -g 1280x960 -a 16 -k ja -r clipboard -r disk:share=$env(HOME)/Downloads
interact
IOS(cisco)の例
cisco.expect
# !/usr/bin/expect
set timeout 3
spawn telnet cisco-switch
expect "Password: "
send "loginpass\n"
expect "Switch>"
send "en\n"
expect "Password: "
send "en-pass\n"
interact
EQ/OS10の例
eqos.expect
# !/usr/bin/expect
set timeout 3
spawn ssh eqadmin@equalizer-ip
expect "login: "
send "touch\n"
expect "Password: "
send "touch\n"
# expect "eqcli >"
interact
ScreenOSの例
screenos.expect
# !/usr/bin/expect
set timeout 3
spawn telnet screenos-ip
expect "login: "
send "netscreen\n"
expect "Password: "
send "netscreen\n"
# expect "hostname(M)-> "
interact
xfce4の.desktop
と組み合わせる
screenos.desktop
# !/bin/sh
xfce4-terminal -e "screenos.expect"
.desktopアイコンを実行すると自動でログイン完了する。