例題 3シェルの中では,通常のプログラミング言語と同様に変数を定義・使用できる.例えば, コマンドプロンプト をどのようなかたちで表示するのかはシェル変数 PS1 に設定されている. つまり,この変数を変更すればコマンドプロンプトが書き換わる. プロンプトにユーザ名も表示するように PS1 を設定しなさい. その際,プロンプトは赤色で表示しなさい.
(例)ユーザ名が e0701aman の場合: e0701aman$ ls ............... ............... e0701aman$ 解答例PS1="\[\033[31m\u\033[0m\]$ " 解説色を付ける部分がやや込み入っているので, まずは色を付ける部分を後回しにして説明する.
(1)まず,シェル変数 PS1 に文字列を設定すると,
それがそのまま表示される. PS1="Hello > "と設定すれば,プロンプトは Hello >になる.
(2)次に,ユーザ名を自動的に出力するには \u を使う.
PS1="\u$ "例えば,ユーザ名が e0701aman ならば e0701aman$となる. ここまでが,上で設定した中のユーザ名と $ マーク出力に相当する: PS1="\[\033[31m\u\033[0m\]$ "
(3)続いて,ユーザ名 \u に色を付ける.
ここでは
エスケープシーケンス
というものを利用する.
このことからわかるように, PS1="\[\033[31m\u\033[0m\]$ "では,\u を赤色で表示するように設定されている. (補足)
|