利用可能な端末種別 (TERM) の判定方法

GNOME Terminal

概要

環境変数TERMに設定される端末種別はncursesなどのterminfoデータベースから設定される。

ncursesのバージョンなどによって,シェルで特定の端末種別が利用できないことがあったりする。例えば,xterm-256colorなど256色に対応した端末に対応していないことがあったりする。

この端末種別の判定方法を参考までに記しておく。「Linux Command Line Adventure: tput」を参考にした。

方法

具体的には,以下のコマンドで-Tに指定した端末種別の利用可否を判定できる。

tput -T <term> longname

例えば,以下のように使用する。

tput -T xterm longname
xterm terminal emulator (X Window System)

-Tで端末種別を指定しない場合,現在のTERM環境変数が参照される。

例えば,以下のようにシェルスクリプトのif文と組み合わせることが考えられる。

if tput -T xterm-256color longname >/dev/null;
export TERM=xterm-256color # xterm-256color specific configuration
fi

また,現在利用可能な端末種別一覧は以下のコマンドで取得できる。

toe -a

tputの代わりにtoe -aの出力を使って判定してもいい。その場合,以下のようにgrepawkなどを使う。

if toe -a | grep -q 'xterm-256color'; 
export TERM=xterm-256color # xterm-256color specific configuration
fi

ただ,特定の端末種別の可否を判定するならば,tputのほうが1コマンドで済むのでコンパクトでよいだろう。

結論

利用可能な端末種別の判定方法を記した。

かなりニッチな内容で必要な場面は稀だと思うが,端末種別の判定が必要になったときに役立てたい。

利用可能な端末種別 (TERM) の判定方法” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です