[collect]八个有趣实用的Bash提示符


==

很多人并不关心命令提示符,觉得它没用。刚从互联网上搜罗了几个有趣且实用的 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\$
更多参考链接:

注:文章内容根据我个人的实际情况稍作修改。

=EOF=

,

《 “[collect]八个有趣实用的Bash提示符” 》 有 2 条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注