【TeraTermマクロ】コマンドの実行結果をタイトルに設定する


この記事はプロモーションを含みます。

Linux

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」という処理になります。

「settitle」を記述する位置は、connectの後になります。
connectより前に記述するとマクロがエラーとなります。
(connectは、login.ttl内で実行しています)

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マクロに関する記事です。

コメント

タイトルとURLをコピーしました