以前コマンドラインのプロンプトを変更する回がありました。
第77回「プロンプトで表示される文字列を変更する」
https://news.mynavi.jp/techplus/article/natonakucommand-77/
これはBashのプロンプトを変更するものでした。
今回はmacOSのデフォルトのシェルであるzshのプロンプトを変更してみましょう。
○zshのプロンプト
プロンプトの説明などは以前やりましたので、そちらを参照(第2回 ディレクトリ移動 )してください。まず、zshのプロンプトを変更してみましょう。zshのプロンプトはPROMPTに表示したい文字列を設定します。以下のようにするとプロンプトがxyzに変わります。
PROMPT='xyz'
プロンプトを日本語にすることもできます。
PROMPT='締め切りまであと3日:'
変更したプロンプトをデフォルトに戻しておきましょう。
exec zsh
現在、どのようなプロンプト設定になっているかは以下のようにコマンドを入力します。
echo $PROMPT
zshもBashと同様に変数PS1に設定することでプロンプトを変更することもできます。Bash同様にPS2,PS3,PS4もあります。
PS1='Apple>'
○zshで設定できるプロンプト
zshで設定できるプロンプトに関しては以下のページに記載されています。
Z shell(https://zsh.sourceforge.io/)
https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html
かなり設定できる項目がたくさんありますので、以後はよく使いそうなものだけをピックアップして設定してみましょう。
○プロンプトに日時を表示する
それではプロンプトに現在の日付や時間を表示してみましょう。この日付や時間はリアルタイムに更新されるわけではなく、リターンキーを押して次に表示されるプロンプト時点での日付・時間になります。
まず、日付を表示するにはPROMPTに%Dを設定します。
PROMPT='%D'
年月日を別々に表示処理したい場合は以下のように指定します。%Yが西暦4桁の年数、%mが月、%dが日を示します。
PROMPT='%D{%Y年%m月%d日}'
時間を表示するには%Tを設定します。
PROMPT='%T'
秒数も表示したい場合は%*を設定します。
PROMPT='%*'
日付と時間を同時に表示したい場合は以下のように、それぞれの文字列を列記して設定します。
PROMPT='%D %*'
時分秒を別々に表示処理したい場合は以下のように指定します。%Kが時間(24時間制)、%Mが分、%Sが秒数を示します。
PROMPT='%D{%K時%M分%S秒}'
○プロンプトを右側に表示する
zshはプロンプトを右側に表示することができます。右側に表示するにはRPROMPTコマンドを使います。以下のようにするとmacOSの文字が右側に表示されます。なお、通常のプロンプトは左側に表示されます。
RPROMPT='[macOS]'
右側に日時を表示しておくには以下のように指定します。
RPROMPT='%D{%Y年%m月%d日 %K時%M分%S秒}'
○プロンプトにディレクトリ名を表示する
それでは次にプロンプトにディレクトリ名を表示してみます。この場合、以下のように設定します。
PROMPT='%d %# '
ホームディレクトリを~(チルダ)に省略したい場合は以下のように設定します。
PROMPT='%~ %# '
○プロンプトに色をつける
それではプロンプトに色をつけてみます。まず、文字色を黄色に変更してみます。文字色は%F{ }で指定します。{ }の中にカラー名やカラーコード(256色)を指定します。%fを指定するとそこで%Fで指定した色が終了します。
【表】カラー名
PROMPT='%F{yellow}%d %#%f'
PROMPT='%F{yellow}%d%f %F{white} %#%f'
背景色を黄色にするには%Kを使って以下のように指定します。指定方法は文字色の時と同じで%K{ }で指定します。{ }の中にカラー名やカラーコード(256色)を指定します。%kを指定するとそこで%Kで指定した背景色が終了します。
PROMPT='%K{yellow}%d %#%k'
文字色と背景色を同時に指定することもできます。文字色を赤色に、背景色を黄色にするには以下のように指定します。
PROMPT='%F{red}%K{yellow}%d %#%f%k'
○プロンプトを太文字にする
プロンプトを太文字にすることもできます。
PROMPT='%B{yellow}%d %#%b'
太文字以外では下線(アンダーライン)を指定することもできます。この場合、%Uで下線が追加され、%uで下線が消えます。
PROMPT='%U{yellow}%d %#%u'
.











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)