在shell中,有两个环境变量,这两个环境变量分别是$PS1和$PS2,这两个变量分别代表什么意思呢?其实这两个变量都和shell下的命令行提示符有关。我们先看一下一个shell命令的执行:
- ^_^[sunny@sunny-laptop ~/summer/semaphore]10$ cat sem\
- >>>>create.c
- #include
- #include
- #include
- #include
- int main()
- {
- return 0;
- }
- ^_^[sunny@sunny-laptop ~/summer/semaphore]11$
为了做测试,我现在想查看semcreate.c中的文件内容,我并没有把semcreate.c文件名字一口气输入完毕,而是把这个文件的名字输入了一部分,然后键入"\"符,这个符号的目的和我们c语言程序中的表示的含义是一样的,都表示这条语句或者命令没有输入完毕,下面这一行仍然是这条命令的补充,有了这个规则之后,当我们在终端中输入一条过长的命令的时候,就不必担心我们的命令太长,一行显示不下了。
说到这里,我们的PS1和PS2这两个环境变量应该登场了。我们可以在终端下查看这两个环境变量所代表的值,下面是我的ubuntu 10.04下的查看结果:
- ^_^[sunny@sunny-laptop ~/summer/semaphore]12$ echo $PS1
-
\[\e]0;\u@\h: \w\a\]`if [ $? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi`[\u@\h \w]\#$
-
^_^[sunny@sunny-laptop ~/summer/semaphore]13$ echo $PS2
-
>>>>
-
^_^[sunny@sunny-laptop ~/summer/semaphore]14$
对于PS1,每个版本bash的PS1变量内的特殊符号可能有些小的差异,你可以先man bash 一下。下面是FC4环境下默认的特殊符号所代表的意义:
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
默认的PS1内容为: '\[\u@\h\W\]\$' ,所以默认的提示符就是: [root@linux ~]#。
PS2的话,就是你第一行没有输入完,然后第二行输出来的提示符号。也就是说,PS1是第一行的提示符号,PS2是第二行的输出提示符号。
下面我们需要对这两个变量的值进行修改,在文件
^_^[sunny@sunny-laptop ~]22$ cd ~
^_^[sunny@sunny-laptop ~]23$ vim .bashrc
中的
- if [ "$color_prompt" = yes ]; then
- PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\03 3[00m\]\$ '
- else
- PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
- fi
改为你想要的值,例如我电脑上的值我改成了这样,所以大家就看到我电脑上的shell提示符是不一样的了。
- echo "Hello, you should study harder and harder!"
- PS1="\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\`[\u@ \h \w]\#\$ "
- PS2=">>>>"
当然你可以改为你自己喜欢的命令提示符。我们甚至可以在这个设置的前面加一个shell脚本,比如让每次打开一个shell之后,显示一句话,这个时候就像
echo "Hello, you should study harder and harder!"
哪句话一样,下次打开shell的时候会提示这句话的。
阅读(3743) | 评论(0) | 转发(0) |