全部博文(180)
分类: LINUX
2010-02-26 00:35:25
【本文是翻译英文的一篇博客,第一次尝试, 网友多多支持哦!】
许多人并不认为命令行提示符有何特别作用,甚至是毫不关心。可是我觉得,对之毫不理会的做法实不可取,因为好的命令行提示可以影响你使用命令的方式。为此,通过internet,我找到一些非常实用,优秀,并且相当有趣的bash的命令行提示。下面我将我最喜欢使用的命令行提示进行了一番罗列。
注意 - 要使用下面这些提示,你可以拷贝粘贴这些以”PS1″打头的内容到你的终端运行。如果希望你的改变永久生效,需将这些内容粘贴到你使用用户的~/.bashrc文件中保存。
这个命令提示行可能是此列表中最有趣的一个,同时它也挺实用的。该命令,在成功执行命令时,向你提示一个笑脸;一旦的命令执行失败,则提示一个哭脸。
运行效果:
代码:
PS1=”\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\`[\u@\h:\w]\\$ “ |
下面这个命令行提示是我最喜欢。 和上一个类似,在命令运行失败后改变提示的颜色,另外该命令可缩短命令行长度,并且包含了bash 历史命令的编号,以方便重新提取运行。
运行效果:
代码:
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″‘
如果你喜欢命令行提示中包含完整信息,那么下边就有一个适合于你的命令行提示。该命令行提示信息中包含日期/时间,全路径,用户,主机,活动终端,甚至包含文件数和占用空间等。
运行效果图:
代码:
PROMPT_COMMAND=’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\]\$ “
这是一个良好,简洁,只有2行提示(加上顶上的空行)。第一行你将得到一个全路径信息,第二行是一个用户名。如果你对每个命令提示行的空行不爽,只要移走第一个\n即可。
运行效果:
代码:
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\]“ |
亲爱的网友,如果你愿意分享你的命令提示行,欢迎在你对本文的评论中将提示行的代码贴出!
(哈哈哈, 第一次尝试翻译,找了很多的参考, 有不准确之处,还望网友指出, 以后多多学习! 希望得到你的支持哦!)