せでぃのブログ

ブログ初心者おいどんのどうでもいい愚痴やどうでもいい愚痴やどうでもいいマメ知識などを披露するチラシの裏です。

teratermマグロを使ってみた

「八戸や」、かつて無いほどメニューの少ない居酒屋でした。2人で2回注文したら、めぼしいもの無くなってやんのw ないない、あれはない。
今回はteratermマクロのレビューなので、スルー推奨。長いです。


結論から言うと、物凄く使いづらかった。


最初は、関数と定数のファイルをそれぞれ別に作って、それを呼び出して使うある程度汎用性のある物を作りたかったんだけど、そうは問屋が卸さないらしい。サブルーチンとincludeが曲者なんだ、これが。

サブルーチンを呼び出すcallという命令が、呼び出すというよりもbasicのgotoに近い感じなんですよ。サブルーチンから戻るreturnもなんでかわからないけどエラー吐くし。


多少面倒になるけど、変数とか外部ファイル参照とか余計なものは使わずにだらだら1つのファイルで書いて、その都度新規で書き起こした方が良さげ。変な動作されても困るし。

あとね、これはteratermのバージョンのせいかも知れないけど、teratermを終了せずに一度ホストとの接続だけ切って、ほかのホストにマクロを継続したまま接続する(disconnect? unlink? closett?)というのがうまくいかなかった。結局、今回は接続できた機器を足がかりに更にtelnetするという形になった。


こらそこ! 「↑手で打ってる」とか青字で書き込むんじゃない!!
むむむ、全然スマートじゃないなぁ…


以下、syoboi使用例。
ここではcatalystスイッチへログイン、コマンドを実行、catalystスイッチを踏み台にしてlinuxサーバへtelnet接続、linuxでコマンド実行、linuxからログアウト、catalystからログアウトという1連の作業をやってみた。


2010年10月追記
###########追記部分###########
「pause 1」の部分を「wait '#'」などのプロンプトを待つ形で置き換えた方が理想かもしれない。
###########ここまで###########


マクロファイル名:start.ttl

;collect_message

connect 'CatIPアドレス:23 /nossh'
pause 1
sendln 'CatPASSWORD'
sendln 'show env all'
pause 1
sendln 'telnet LinuxIPアドレス'
pause 1
sendln 'LinuxLOGIN_ID'
sendln 'LinuxPASSWORD'
sendln 'pwd'
pause 1
sendln 'exit'
pause 1
sendln 'logout'
end


出力ログ

User Access Verification

Password: 
SWITCH>show env all
FAN is OK
Internal POWER supply is OK
RPS is NOT present

SWITCH>telnet LinuxIPアドレス
Trying LinuxIPアドレス ... Open
Red Hat Linux release X.X (Enigma)
Kernel x.x.x-xx on an ixx6
login: LinuxLOGIN_ID
Password: 
Last login: Fri Dec 21 15:20:44 from xxx.hogehoge.jp
[user@server ~]$ pwd
/usr/home/user
[user@server ~]$ exit
logout

[Connection to LinuxIPアドレス closed by foreign host]
SWITCH>logout


2010年10月追記
###########追記部分###########
vistaからなんでしょうか。確認できるとこで、Windows7で、とうとうハイパーターミナルなくなっちゃいましたね…… 初期インストール時にでもtera term入れておかないと。
参考になるサイト)
Tera Termマクロ活用入門(1):各種ログインを自動化する


その他 (Tera Term 設定ファイル)
引用

起動時にマクロを実行
Tera Term 起動時にマクロを自動的に実行することができます。マクロファイル名はコマンドラインオプション "/M=<マクロファイル名>" を使うか、設定ファイルの [Tera Term] セクションの StartupMacro 行を以下のように変更することによって指定できます。

StartupMacro=<マクロファイル名>
省略時:
StartupMacro=

###########ここまで###########