LoginSignup
5
7

More than 5 years have passed since last update.

expect使ってみた

Last updated at Posted at 2014-12-06

参考

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アイコンを実行すると自動でログイン完了する。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7