TeraTermマクロを使用して、コマンドの実行結果をTeraTermのウィンドウタイトルに設定する方法を解説します。
はじめに
以前、TeraTermのウィンドウタイトルを設定する方法を説明しました。
ここでは、応用編として、コマンドの実行結果をタイトルとして設定する方法を説明します。
以下は、「テスト文字列」と設定してみた例です。
今回は、このテスト文字列をコマンドの実行結果にしてみます。
例では、日本語を使用していますが、TeraTermのバージョンや環境によっては文字化けする場合や、タイトルが正しく変更されない場合がありますのでご了承ください。
本記事執筆時の環境は、以下のようになっています。
- 作業端末:Windows 10 Pro (21H2)
- TeraTermのバージョン:Version 4.105 (SVN# 8433)
- 接続先サーバー:MIRACLE LINUX release 9.0 (Feige)
事前準備
ウィンドウにタイトルを設定するにあたり、事前にTeraTermの設定を変更します。
*TeraTermのバージョンによっては、この設定が不要なので、一旦設定せずに試してもらってもいいかもしれません。
以下で、解説しているので、そちら参考にして下さい。
TeraTermマクロの作成
ここでは、TeraTermマクロの作成を行います。
例として、よくあるログインマクロにウィンドウのタイトルを設定する処理を付けたマクロを作成してみたいと思います。
まず、マクロの構成についてですが、以下のようになっています。
- main.ttl:ウィンドウタイトルを設定する処理を記述
- login.ttl:Linux機器に接続(ログイン)する処理を記述
下記は、各マクロのソースコードです。
main.ttl(実行するマクロ)
; 実行コマンド
execcmd='cat /etc/redhat-release'
; ログインマクロの呼び出し
include '.\login.ttl'
sendln execcmd
recvln
recvln
; コマンドの実行結果をタイトルに設定
settitle inputstr
end
まず、「execcmd=’cat /etc/redhat-release’」ですが、
実行するコマンド[cat /etc/redhat-release]を変数[execcmd]に格納しています。
(今回実行するコマンドは、LinuxのOSを確認するコマンドです)
[include]コマンドでは、ログイン用部品[login.ttl]の呼び出しを行っています。
最後に、コマンドを実行し、その実行結果をTeraTermのウィンドウタイトルに設定しています。
ポイントは赤字の「settitle inputstr」という処理になります。
login.ttl(main.ttlから呼び出されるマクロ)
; 接続情報 HOST = '***.***.***.***' PORT = '22' USER = 'root' PASS = 'root' CMD = HOST strconcat CMD ':' strconcat CMD PORT strconcat CMD ' /ssh /2 /auth=password /user=' strconcat CMD USER strconcat CMD ' /passwd=' strconcat CMD PASS connect CMD wait '#'
接続情報の「HOST」、「USER」、「PASS」は適宜変更して下さい。
また、最後の「wait ‘#’」は、処理待ちになっており、TeraTermのプロンプトが返ってくるまで待っています。プロンプトによっては、文字が[$]になる場合がありますので、そのような場合は変更してください。
ログインマクロについては下記の記事で解説しています。
実行結果
マクロの実行結果です。
下記(緑枠)のように、コマンドの実行結果が、タイトルとして設定されていることが分かります。
関連記事
TeraTermマクロに関する記事です。
コメント