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