[teraterm]ログインマクロ内の共通部分を集約する
teratermをつかうならログインマクロは必須。
しかし、
踏み台を経由してログインするマシンが複数ある場合、
「踏み台サーバへのログイン」
という共通的な部分が
いくつものログインマクロファイルに分かれてしまい、
あとでの修正が非常に面倒なことになる。
そんなときはteratermマクロのincludeコマンドを使えばよい。
例えばこんなかんじ。
;踏み台サーバへのログイン
include 'C:\***\login.ttl'
;踏み台⇒対象サーバへのログイン
msg = hostname
strconcat msg ':22 /ssh /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg pass
connect msg
このincludeコマンドで呼び出されたttlファイル内で
定義している変数は呼び出しもとのマクロに引き継がれるので、
例えば、こんな使い方もできる。
;対象サーバの情報(hostname、username、password)を読み込む
include 'C:\***\login.ttl'
;踏み台⇒対象サーバへのログイン
msg = hostname
strconcat msg ':22 /ssh /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg pass
connect msg
注意点は、
呼び出したいttlファイルのパスを相対パスで書くと
ttlmacro.exeのあるディレクトリからの相対パスになる
ということ。
絶対パスで指定するのが無難です。
いやなら、setdirコマンドを使い、
マクロを実行しているカレントディレクトリを変更すること。
参考:
TTL コマンドリファレンス
http://ttssh2.sourceforge.jp/manual/ja/macro/command/index.html