Linux 小知识翻译 - 「命令行的提示符」
这次,聊聊关于「命令行提示符」的相关内容。
bash之类的Shell程序是操作Linux所不可缺少的东西。其中bash的提示符也有承担了很重要的作用。
「命令行提示符」的英文是「command prompt」,其中「prompt」有促使,推动的意思,根据这个意思,Shell中的「命令行提示符」就有促使,推动用户输入的意思。
(下面的说明以bash为例,bash是Shell程序的一种)
目前的Linux发行版中,提示符一般都像下面这样:
[user@host001 /etc]$
上面这个提示符中包含了「登录的用户名」,「Host名称」和「当前目录」等信息。这样,在提示用户输入的同时,也提示了一些对用户有用的信息。
提示符中显示的内容是可以自定义的。除了「登录的用户名」,「Host名称」和「当前目录」之外,还可以显示时间,日期,控制台编号,连接时间等等各式各样的信息。
反之,为了安全上的考虑,也可以不显示任何信息,只显示「$」或者「#」。
关于提示符的详细设置方法这里就不说了,想要修改提示符,只需要修改Shell的环境变量「PS1」就行(如果一个命令需要输入多行,可以设置「PS2」)。
比如,Shell中的环境变量「PS1」已经设置为:
PS1='\$ '
没有任何多余的信息,只有「$」标记(root用户登录时是「#」标记)。
这时,如果想显示成之前提到的「PS1」的样子(「[user@host001 /etc]$ 」)的话,设置「PS1」为:
$ PS1='[\u@\h \w]\$ '
「PS1」可以在用户登录之后来设置,也是在登录前设置好,设置方法就是在当前用户的 *home目录* [fn:1] 下的「.bashrc」文件的末尾追加一行设置,设置如下:
export PS1='[\u@\h \w]\$ '
这样,下次登录的时候就会使用新的命令行提示符了。