タイトルは奇妙ですが、質問を明確に説明するのは難しいです。
端末で実行すると、kitty --version
そのバージョンはstdoutとして印刷されますが、テキストのスタイルと色は次のようになります。
これを達成するために、プロセスはANSIエスケープコードを標準出力に出力する必要がありますが、出力を16進ダンプすると表示できません。
$ kitty --version | xxd -g 1 -c 10 -u
00000000: 6B 69 74 74 79 20 30 2E 31 39 kitty 0.19
0000000a: 2E 31 20 63 72 65 61 74 65 64 .1 created
00000014: 20 62 79 20 4B 6F 76 69 64 20 by Kovid
0000001e: 47 6F 79 61 6C 0A Goyal.
私はここで少なくともいくつかのエスケープ文字と他のANSIシーケンスを見たかったのですが、そうではありません。これにより、kitty
エスケープコードを処理できる端末に出力が表示されるかどうかを「予測」できると信じられました。
どうすればこれを行うことができますか?それともターミナルエミュレータの機能ですか?
答え1
読んman isatty
だりhttps://linux.die.net/man/3/isatty
isatty - test whether a file descriptor refers to a terminal