使用されている端末の種類を名前だけで表示するようにしています。たとえば、konsole を使用していた場合、konsole が表示されます。これまで、私はこのコマンドを使用してきました。
pstree -A -s $$
それはこれを出力します。
systemd---konsole---bash---pstree
その行から konsole を抽出できる次のものがあります
pstree -A -s $$ | sed 's/systemd---//g;s/---.*//g' | head -1
コンソールを適切に出力します。しかし、pstree コマンドだけで次のような出力が得られる人もいます。
systemd---kdeinit4---terminator---bash---pstree
またはこれ
systemd---kdeinit4---lxterminal---bash---pstree
sed コマンドを追加すると、ターミネータの代わりに kdeinit4 が抽出されます。端末のタイプを抽出するシナリオはいくつか考えられますが、特定のタイプの端末をチェックするための条件文を含まないシナリオはありません。私が抱えている問題は、端末名の前または後ろにある非相対または非相対的なものの数、またはそれらが何であるかを正確に予測できないこと、および端末名が何であるかを正確に予測できないことです。誰かがこれに対する解決策について何か考えを持っていますか?