Linux下SHELL的PS1变量简介
来源:岁月联盟
时间:2012-04-06
鸟哥书上的例子为: [root@linux /home/dmtsai 16:50 #12]# PS1='[/u@/h /w /A #/#]/$ ' 在Fedora 12上的实现:
在上例中我们看出了,PS1在赋值的时用了单引号(‘),下面我们将讨论下在SHELL变量赋值,先看鸟哥书上的变量赋值: 1. 变量与变量内容以等号( = )来连结; 2. 等号两边不能直接接空格符; 3. 变量名称只能是英文字母与数字,但是数字不能是开头字符; 4. 若在赋值中有空格符可以使用双引号或单引号来将变量内容结合起来,但须要特别留意, 双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符; 5. 必要时需要以反斜杠(/)来将特殊符号 ( 如 Enter, $, /, 空格符, ' 等 ) 变成一般符号; 6. 在一串指令中,还需要藉由其它的指令提供的信息,可以使用引用字符(` command` );(特别特别注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号!) www.2cto.com 7. 若该变量为扩增变量内容时,则需以双引号及 $变量名称 如: "$PATH":/home继续累加内容; 8. 若该变量需要在其它子程序执行,则需要以 export 来使变量变成环境变量, 如export PATH 9. 通常大写字符为系统预设变量,自行设定变量可以使用小写字符,方便判断 ( 纯粹依照使用者兴趣与嗜好 ) ; 10. 取消变量的方法为: unset 变量名称。 那么在PS1的设置中,因为中间有空格,所以我们需要用单双引号,没有与需要用到命令的结果,所以不需要引用。而我们选择单引号是为了让PS1直接接受纯字符,而不是在SHELL中有特殊意义的字符,或者以$开头的变量,所以我们用单引号即可,当让也可以用双引号。 作者 wendaotao