利用可能な端末種別 (TERM) の判定方法
概要
環境変数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 -atputの代わりにtoe -aの出力を使って判定してもいい。その場合,以下のようにgrepやawkなどを使う。
if toe -a | grep -q 'xterm-256color';
export TERM=xterm-256color # xterm-256color specific configuration
fiただ,特定の端末種別の可否を判定するならば,tputのほうが1コマンドで済むのでコンパクトでよいだろう。
結論
利用可能な端末種別の判定方法を記した。
かなりニッチな内容で必要な場面は稀だと思うが,端末種別の判定が必要になったときに役立てたい。

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