【レビュー】

おもしろくて役に立つ8つのbashプロンプト

 

Make Tech Easier - Uncomplicating the complicated, making life easier

Joshua Price氏がMake Tech Easierにおいて8 Useful and Interesting Bash Promptsのタイトルのもと、bashシェルにおけるさまざまなコマンドプロンプトの設定例を紹介している。使いやすいコマンドプロンプトはコマンドラインの使い方を変えると説明があり、同氏が調査した中でも、特によく使われていたり、おもしろいプロンプトとその設定例が紹介されている。紹介されているプロンプトは次のとおり。

間違ったコマンドを入力すると顔が変わるプロンプト

もっともおもしろいプロンプトのひとつだが、使いやすくもあるプロンプト。コマンドの実行が成功したか失敗したかで、プロンプトに表示されるアスキーアートの顔を変更するというもの。コマンドの実行に失敗すると悲しい顔が表示される。成功すると元に戻る。

PS1="\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\`[\u@\h:\w]\\$ "
間違ったコマンドを入力すると顔が変わるプロンプト

プロンプト実行例

間違ったコマンドを入力すると色が変わるプロンプト

アイディアはコマンドの成功の可否で表示する顔を変えるというものだが、これは顔の代わりに色を変更する。また、履歴に記憶されているコマンドの実行回数や、パスの表示を短縮表記からフルパス表記に変更している。

PROMPT_COMMAND='PS1="\[\033[0;33m\][\!]\`if [[ \$? = "0" ]]; then echo "\\[\\033[32m\\]"; else echo "\\[\\033[31m\\]"; fi\`[\u.\h: \`if [[ `pwd|wc -c|tr -d " "` > 18 ]]; then echo "\\W"; else echo "\\w"; fi\`]\$\[\033[0m\] "; echo -ne "\033]0;`hostname -s`:`pwd`\007"'
間違ったコマンドを入力すると色が変わるプロンプト

プロンプト実行例

複数行プロンプト

複数行にわたってプロンプトを表示し、より多くの情報を出力する。日付、時間、フルパス、ユーザ名、ホスト名、端末名、カレントディレクトリにあるディレクトリやファイルの総数、カレントディレクトリにあるディレクトリやファイルの総合サイズが表示される。

PS1="\n\[\033[35m\]\$(date)\n\[\033[32m\]\w\n\[\033[1;31m\]\u@\h: \[\033[1;34m\]\$(tty | sed -e 's:/dev/::'): \[\033[1;36m\]\$(ls -1 | wc -l | sed 's: ::g') files \[\033[1;33m\]\$(ls -lah | grep -m 1 total | sed 's/total //')b\[\033[0m\] -> \[\033[0m\]"
複数行プロンプト

プロンプト実行例

データごとに色を変えて見やすくしたプロンプト

時刻、ユーザ名、ホスト名、カレントディレクトリを表示するミニマムなプロンプト。ほかのプロンプトのような特徴はないが、うまく色を活用して短いなかでも視認性をあげている。

PS1="\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
データごとに色を変えて見やすくしたプロンプト

プロンプト実行例

フルパスを表示する複数行プロンプト

ユーザ名とカレントディレクトリのフルパスを表示するシンプルでナイスな複数行プロンプト。

PS1="\[\033[32m\][\w]\[\033[0m\]\n\[\033[1;36m\]\u\[\033[1;33m\]-> \[\033[0m\]"
フルパスを表示する複数行プロンプト

プロンプト実行例

バックグラウンドジョブ数を表示する複数行プロンプト

1行目はユーザ名とホスト名、カレントディレクトリのフルパス、2行目はコマンドの履歴数とバックグラウンドジョブの総数を表示する複数行プロンプト。

PS1='\[\e[1;32m\]\u@\H:\[\e[m\] \[\e[1;37m\]\w\[\e[m\]\n\[\e[1;33m\]hist:\! \[\e[0;33m\] \[\e[1;31m\]jobs:\j \$\[\e[m\] '
バックグラウンドジョブ数を表示する複数行プロンプト

プロンプト実行例

カレントディレクトリ情報を表示する複数行プロンプト

洗練されたデザインの複数行プロンプト。ユーザ名、ホスト名、ジョブ数、日付、時刻、カレントディレクトリのフルパス、カレントディレクトリにあるファイルやディレクトリの総数、カレントディレクトリにあるファイルやディレクトリの総合サイズが表示される。

PS1="\n\[\e[30;1m\]┌(\[\e[34;1m\]\u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])->\[\e[30;1m\]\n└─(\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(ls -1 | wc -l | sed 's: ::g') files, \$(ls -lah | grep -m 1 total | sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"
カレントディレクトリ情報を表示する複数行プロンプト

プロンプト実行例

Joshua Price氏の使っているプロンプト

Joshua Price氏が使っているプロンプト。ひとつ前の複数行プロンプトをベースにしつつ、よりシンプルで場所をとらないものへ調整されている。

PS1="\n\[\e[32;1m\](\[\e[37;1m\]\u\[\e[32;1m\])-(\[\e[37;1m\]jobs:\j\[\e[32;1m\])-(\[\e[37;1m\]\w\[\e[32;1m\])\n(\[\e[37;1m\]! \!\[\e[32;1m\])-> \[\e[0m\]"
Joshua Price氏の使っているプロンプト

プロンプト実行例

8 Useful and Interesting Bash Promptsで掲載されているサンプルには、掲載する段階で編集を誤ったとみられるミスと、日本語環境では表示されない設定も含められているため、その部分には若干の変更を加えて掲載した。設定されている色は背景色が黒でフォントはボールドのときに見やすいようになっているため、背景色を白やフォントの種類を変更する場合には、それに応じて編集を加えた方が使いやすいとみられる。なお、8 Useful and Interesting Bash Promptsでは寄せられているコメントにもプロンプト設定のサンプルが掲載されている。



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

テラハ新シリーズの舞台はハワイ! 新メンバー出演番組のライブ配信も決定
[01:00 9/27] エンタメ
[テラスハウス]海外初進出 新シリーズはハワイで展開
[00:31 9/27] エンタメ
TVアニメ『orange』が映画化! 『orange -未来-』が11/18より2週間限定公開
[00:00 9/27] ホビー
[パトレイバー]後藤隊長カレンダーが「月刊!スピリッツ」付録に 「みんなで幸せになろうよ」
[00:00 9/27] ホビー
[にゃんこデイズ]テレビアニメ化決定 擬人化したネコと人見知りの少女の日常描いた4コママンガ
[00:00 9/27] ホビー

求人情報