bashのコマンドプロンプトを素敵にカスタマイズする8つの方法

SPONSORED LINK

Pocket

bashのコマンドプロンプトのカスタマイズ方法が紹介されていましたよ。なかなか愉快なものもあるので一気にご紹介。これは楽しいw。

  • 実行結果を絵文字でw
  • bash_1

    コマンドを実行して成功したらニコニコマーク、失敗したら残念マークを表示しますよw。

    PS1="\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\`[\u@\h:\w]\\$ "
    
  • 実行結果を色で
  • bash_2

    実行した結果が失敗ならコマンドプロンプトの色が変わります。かつ、コマンドの#を教えてくれるので再実行の際にも便利すね。

    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"'
    
  • いろいろ表示
  • bash_3

    コマンドプロンプトにとにかくたくさん情報を表示させたい人はこちら。複数行にわたって日時、カレントディレクトリなんかを表示してくれます。

    PS1="\n\[\033[35m\]\$(/bin/date)\n\[\033[32m\]\w\n\[\033[1;31m\]\u@\h: \[\033[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'): \[\033[1;36m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files \[\033[1;33m\]\$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\033[0m\] -> \[\033[0m\]"
    
  • いろいろ色分け
  • bash_4

    こちらは情報ごとに色分けする方法。便利。

    PS1="\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
    
  • フルパスを表示
  • bash_5

    現在のディレクトリのフルパスを表示してくれますよ。

    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\] '
    
  • バックグラウンドで実行中のジョブ数を表示
  • bash_6

    バックグランドで実行中のジョブの数をあわせて表示してくれます。

    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\] '
    
  • いろいろ全部いり
  • bash_7

    日時やディレクトリ内の情報や実行中のジョブやらいろいろ表示してくれます。

    PS1="\n\[\e[30;1m\]\[\016\]l\[\017\](\[\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\[\016\]m\[\017\]-(\[\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"
    
  • ↑の簡単版
  • bash_8

    さっき紹介したものをさらにシンプルに表示させるものですね。

    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\]"
    

なお、こうしたカスタマイズをログインするたびに保持するには./bashrcに記述すべし、です。上記を参考に自分だけのプロンプトを作るのもいいですね。

それにしてもこんなにいろんなことが出来るとは知らなかったなぁ・・・。

» 8 Useful and Interesting Bash Prompts – Make Tech Easier

ツイッターもやっています!

SPONSORED LINK

  1. No comments yet.

  1. No trackbacks yet.