[20130225]bash shell 的提示符.txt
http://www.thegeekstuff.com/2008/09/bash-shell-take-control-of-ps1-ps2-ps3-ps4-and-prompt_command/
http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linux-prompt-like-angelina-jolie/
1.关于PS1:
今天看了关于bash shell的提示符的相关文章:
我个人喜欢在安装好linux主机后,修改PS1的提示符,例子:
PS1="\[[\u@\033[1;31m\h\033[0m IP=40 \w \033[1;32m\#\033[0m]\\$ \]"
export ps
--这样主机名的部分显示的是红色.
我的感觉链接使用变量的方式更加科学一些,这样更加清晰.
RED="\[\033[1;31m\]"
GREEN="\[\033[0;32m\]"
NO_COLOR="\[\033[0m\]"
PS1="[\u@$RED\h$NO_COLOR IP=40 \w $GREEN\\#$NO_COLOR]\\$ "
export PS1
2.PS3:
使用来提示select命令的提示,这个是我以前不知道的,我很少使用select命令.
拿文章的例子来说明:
$ cat ss.sh
PS3="Select a day (1-4): "
select i in mon tue wed exit
do
case $i in
mon) echo "Monday";;
tue) echo "Tuesday";;
wed) echo "Wednesday";;
exit) exit;;
esac
done
$ ./aa.sh
1) mon
2) tue
3) wed
4) exit
Select a day (1-4):
3.PS4:
感觉设置这个对于调试shell帮助很大.
$ cat aa.sh
#! /bin/bash -x
PS3="Select a day (1-4): "
select i in mon tue wed exit
do
case $i in
mon) echo "Monday";;
tue) echo "Tuesday";;
wed) echo "Wednesday";;
exit) exit;;
esac
done
$ export PS4='Program=$0 LineNo=$LINENO:'
$ ./aa.sh
Program=./aa.sh LineNo=2 :PS3='Select a day (1-4): '
Program=./aa.sh LineNo=3 :select i in mon tue wed exit
1) mon
2) tue
3) wed
4) exit
Select a day (1-4): q
Program=./aa.sh LineNo=5:case $i in
Select a day (1-4): 1
Program=./aa.sh LineNo=5:case $i in
Program=./aa.sh LineNo=6:echo Monday
Monday
Select a day (1-4): 4
Program=./aa.sh LineNo=5:case $i in
Program=./aa.sh LineNo=9:exit