Linux下SHELL的PS1变量简介

Linux下SHELL的PS1变量简介linux

Linux环境变量中PS1是很重要的环境变量:code

PS(Prompt Sign): 是指命令提示符,例如在Fedora 12的终端下:[liutao@liutao ~]$ ,在设定PS1环境变量时,咱们须要用到预设的一些特殊符号来设定PS1,下面是鸟哥书上关于BASH的特殊变量。变量

o \d :表明日期,格式为 Weekday Month Date,例如 "Mon Aug 1"终端

o \H :完整的主机名称。举例来讲,鸟哥的练习机 linux.dmtsai.tw ,那么这个主机名称就是 linux.dmtsai.tw www.2cto.com引用

o \h :仅取主机名称的第一个名字。以上述来说,就是 linux 而已, .dmtsai.tw 被省略。程序

o \t :显示时间,为 24 小时格式,如: HH:MM:SScommand

o \T :显示时间,12 小时的时间格式!方法

o \A :显示时间,24 小时格式, HH:MM英文

o \u :目前使用者的帐号名称;环境变量

o \v :BASH 的版本信息;

o \w :完整的工做目录名称。家目录会以 ~ 取代;

o \W :利用 basename 取得工做目录名称,因此仅会列出最后一个目录名。

o # :下达的第几个指令。

o $ :提示字符,若是是 root 时,提示字符为 # ,不然就是 $ 。

Fedora 12下,PS1 内容为:

鸟哥书上的例子为: [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中有特殊意义的字符,或者以$开头的变量,因此咱们用单引号便可,当让也能够用双引号。

相关文章
相关标签/搜索