blogこの広告は、90日以上更新していないブログに表示しています。Terminalターミナル出力に色をつける方法を調べた。文字に色をつける方法echoに-eオプションをつけ、文字の前にある記号を書くと色がつく。printfの場合はオプションなどは必要なく普通に色がつく。"RED"記号の意味\e[31mのような記号はANSIエスケープシーケンスといい、意味で分解すると以下のようになる。シーケンス終了を表すエンド・コードエスケープシーケンスとは、コンピュータシステムにおいて、通常の文字列では表せない特殊な文字や機能を、規定された特別な文字の並びにより表したもの。Wikipediaより)仕組みの詳細はともかく、エスケープシーケンスを読み込んだターミナルは「おっ、これはただの文字じゃないな」と区別する。シェルではなくターミナルが処理するため、処理できるかどうかはターミナルの種別に依存する。ちなみに\eはキーボードのESCキーを表しており、\eの代わりに\033(8進数形式のESC)や\0x1b、\0x1B、\x1b、\x1B(どれも16進数形式のESC)も同じように使用できる。MISChttp://misc.flogisoft.com/bash/tip_colors_and_formatting上記のサイトが色付きで非常にわかりやすく紹介しているので参照されたし。処理内容コードを変えることで8色から256色まで、さまざまな色を指定することができる。(ただしターミナルによっては256色を利用できない)具体例エスケープシーケンスを使って色を変える例を示す。"\e[2m最近髪が薄くなってきた\e[m"ここまで読んで以下の出力がどうなるか頭の中で分かれば完璧。"\e[7mAAA\e[33mBBB\e[m\e[31;1mCCC\e[m"ここから下はおまけなので読まなくてよい。tputコマンドエスケープシーケンスを書く以外にも文字色を変更する方法がある。tputコマンドtputはエスケープシーケンスを出力するコマンドである。tputの出力内容は、ターミナルエミュレータごとの仕様の違いを解決するためのファイル、terminfoに依存する。terminfoファイルにはターミナルの機能に関する定義(エスケープシーケンスとターミナル機能の関連付け)がされている。tputはこの定義をコンソール上に直接出力するコマンドである。繰り返すが、tputはエスケープシーケンスをターミナルに出力しているだけである。tputの使い方tputのusage。5でマニュアルページを参照することで取得できる。capnameに設定されているエスケープシーケンスを得るにはinfocmpコマンドを使用する。tputを使って文字色を変更する文字色を操作するcapnameの定義はsetafである。Foregroundを意味している。"青い文字"これは手動で以下を入力するのと同じことである。"\e[34m青い文字"tputを使って背景色を変更する背景色を操作するcapnameの定義はsetabである。Backgroundを意味している。"赤い背景"これは以下と同意である。"\e[41m赤い背景"tputで指定できる色は0〜255の256通りである。0から7までは基本の8色、8から15までは明るい8色、16から255までが様々な色を指す。デフォルト色に戻すcapnameは提供されていない。色を変更する他に、ターミナルの制御もできる。capnameの中でも特にシェルスクリプトの役に立ちそうなものだけ紹介する。belおまけ:zshなら簡単zshなら簡単に文字色の変更ができる。.zshrcに下記を追記するとzshにカラー機能が追加できる。colorscolorscolorsを読み込むと、下記のように色を名前で使用できるようになる。"${fg[yellow]}きいろ${fg[default]}デフォルト${fg[blue]}あお"colorsは8色しか扱えないのが弱点だ。全体の文章校正を変更。tputに関する情報を追加。Tumblr広告を非表示にする関連記事2016-07-14シェルスクリプト内で一時ファイルを作成して終了時に削除するtrapコマンドを使うとさまざまなタイミングでファイルを操作で...2016-01-16Linuxでrawディスクのimageファイルを扱うあれこれ(空ファイル作成、パーティション作成、マ...RaspberryPiのためにLinuxでディスクのイメージファイルを編集...2015-03-14zshでプロンプトの右端に文字を出力する標準出力で文字列を右寄せする方法を調べたからメモ。5.0.7)すべてのzshオプションを記載したファイルを作成したので、現時...2015-03-09シェルスクリプトで1文字だけ入力させる方法キーボードで1文字だけ入力したら即座に入力を終了する方法。10のパーティションをカスタマイズしてクリーンインストールする月別アーカイブ注目記事はてなブログをはじめよう!vorfeeさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。