[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