首页 理论教育 Linux命令行提示符PS1设置

Linux命令行提示符PS1设置

时间:2023-11-18 理论教育 版权反馈
【摘要】:在前面的例子中,为简单起见,命令行提示符均为$。在第1章,曾经见到过Bash命令行提示,形式为:“账户名@计算机:当前路径$”。PS1为Bash的内置变量,用于设置第一命令提示,也叫主命令提示。下面将命令行提示变为“China>”:如果现有的命令行提示不是自己喜欢的,可以给PS1赋值,设定自己喜欢的提示。以后进入任何Bashshell,遇到没见过的提示并且想知道是如何设置的,都可以执行echo $PS1命令。

Linux命令行提示符PS1设置

在前面的例子中,为简单起见,命令行提示符均为$。实际上,命令行提示很少是单个的字符$。在第1章,曾经见到过Bash命令行提示,形式为:“账户名@计算机:当前路径$”。其实,这只是命令行提示的某一种“外表”,用户是可以定制它的。

PS1为Bash的内置变量,用于设置第一命令提示,也叫主命令提示。为什么叫第一?因为还有PS2、PS3和PS4等与命令提示有关的内置变量(在后面章节会讲到)。设置PS1时,\h表示计算机名,\t表示当前时间,\u表示账户名,\w表示当前路径(主目录显示为~)。这几个是比较常用的,还有很多其他选项,见表3-2。

表3-2 Bash命令提示符内置环境变量设置

978-7-111-48202-4-Chapter03-17.jpg

下面将命令行提示变为“计算机名#当前时间>”,Linux系统将显示按下回车键那一刻的时间:

978-7-111-48202-4-Chapter03-18.jpg

下面将命令行提示变为“计算机名@$”,然后再变回老样子,即“账户名@计算机名:当前路径$”:(www.xing528.com)

978-7-111-48202-4-Chapter03-19.jpg

978-7-111-48202-4-Chapter03-20.jpg

PS1不一定必须按照表3-2中的选项进行设置,它可以等于任何字符串、任何变量(包括内置变量)、任何命令或者函数的返回值,虽然实际上很少有人这样用,但只要用户喜欢就可以。下面将命令行提示变为“China>”:

978-7-111-48202-4-Chapter03-21.jpg

如果现有的命令行提示不是自己喜欢的,可以给PS1赋值,设定自己喜欢的提示。以后进入任何Bashshell,遇到没见过的提示并且想知道是如何设置的,都可以执行echo $PS1命令。执行echo $PS1时,如果遇到PS1:Undefined variable的提示信息,说明用户的shell不是Bash,一定是其他种类的shell。PS1是Bash的有默认值的内置变量,不会是没有定义的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈