- 英文链接:http://www.maketecheasier.com/8-useful-and-interesting-bash-prompts
- 中文链接:http://zzp.me/2009-09-09/8-bash-prompt/
==
很多人并不关心命令提示符,觉得它没用。刚从互联网上搜罗了几个有趣且实用的 Bash 提示符,因为好的提示符可以改善你的工作方式和效率~
注:要使用下面的效果,只需将”PS1=”部分复制粘贴到终端执行即可。如果要保持修改,可以将它追加到”~/.bashrc”文件中。
一、执行成功就显示笑脸
如果命令执行成功,就显示一张笑脸。代码如下:
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\]\$(/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\]"
四、七彩提示符
这个的特点就是用不同的颜色来显示不同的信息。如下列中分别显示了时间、用户名、主机名以及当前目录:
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\]"
六、显示后台任务数量
这个提示符的第一行还是显示用户名、主机名以及完整路径。特色在第二行,不仅显示历史记录数量,还会显示后台作业的数量:
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\]\[\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\]"
八、作者所用的提示符
这是本文原作者自己的提示符,这是基于 #7 修改的:第一行显示用户名、后台作业数、当前路径;第二行显示历史记录数。
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\]"
九、我的提示符
# echo $PS1 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
更多参考链接:
- bash prompt variables | Bash | SS64.com
- Bash prompt basics
- How to: Change / Setup bash custom prompt (PS1)
- Bash Shell PS1: 10 Examples to Make Your Linux Prompt like Angelina Jolie
- Color Bash Prompt – ArchWiki
- Bash $PS1 Generator 2.0
- How to Customize your Bash Prompt on a Linux VPS | DigitalOcean
注:文章内容根据我个人的实际情况稍作修改。
=EOF=
《 “[collect]八个有趣实用的Bash提示符” 》 有 2 条评论
Bash提示符
https://wiki.archlinux.org/index.php/Bash/Prompt_customization
http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/
https://github.com/twolfson/sexy-bash-prompt
https://linuxconfig.org/bash-prompt-basics
http://wiki.linuxquestions.org/wiki/Bash_prompt
https://www.linux.com/learn/how-make-fancy-and-useful-bash-prompt-linux
#在线生成Bash提示符(PS1)
http://ezprompt.net/
MySQL提示符
`export MYSQL_PS1=”u@h [d]> “`
http://blog.csdn.net/dba_waterbin/article/details/8779502
http://superuser.com/questions/397183/mysql-command-line-color-prompt
$PS1和$PROMPT_COMMAND的不同之处,后者可以执行命令,比如记录上次执行了什么命令
https://stackoverflow.com/questions/3058325/what-is-the-difference-between-ps1-and-prompt-command
http://www.gnu.org/software/bash/manual/bashref.html
What is your favorite Bash prompt? [closed]
https://stackoverflow.com/questions/103857/what-is-your-favorite-bash-prompt
https://www.reddit.com/r/programming/comments/697cu/bash_users_what_do_you_have_for_your_ps1/