环境变量PS1介绍

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了环境变量PS1介绍相关的知识,希望对你有一定的参考价值。

这篇文章介绍一下Bash中的环境变量PS1。

PS1 是什么

PS1 是Prompt String 1的缩写,它是Linux/Unix下的一个用于控制提示信息的环境变量,PS1是交互式的shell用于控制用户输入提示信息的环境变量,类似的环境变量还有PS2、PS3和PS4。以下是man bash获得说明内容:

  • Bash版本:4.2.46
[root@liumiaocn ~]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@liumiaocn ~]# 
  • PS1-PS4的说明

    结合上述PS1-PS4的说明,可以理解此四个环境变量的作用主要如下:
环境变量用途
PS1交互式脚本等待用户输入时的提示信息
PS2一条命令没有结束的时候的连接性的提示(比如使用\\将一行复杂的命令使用多行连接起来的场合)
PS3和select命令结合使用
PS4调试时的行前显示内容

这篇文章主要介绍以下PS1相关的内容。

PS1示例

在本文示例的Bash环境中,PS1环境变量设定值如下所示:

[root@liumiaocn ~]# echo $SHELL
/bin/bash
[root@liumiaocn ~]# echo $PS1
[\\u@\\h \\W]\\$
[root@liumiaocn ~]#

其中\\u、\\h与\\W都是PS1的设定项目,其具体含义分别如下所示:

  • \\u:当前用户的用户名
  • \\h:主机名(包含.的情况下取第一个字段)
  • \\W:当前目录(显示为basename的信息),$HOME目录显示为~

PS1设定项目

设定项目设定说明
\\aASCII(07)警示音
\\d以"Weekday Month Date"格式显示的日期信息(示例:Wed Jan 29)
\\Dformat指定显示格式的日期
\\e转义(033)(比如进行颜色设定)
\\h主机名(包含.的情况下取第一个字段)
\\H完整主机名(包含.的情况下和\\h有所区别)
\\j通过当前shell在后端运行的进程数量(比如通过&符)
\\l此shell的终端设备名(basename)
\\n换行
\\r回车
\\sthe name of the shell, the basename of $0 (the portion following the final slash)
\\t当前实现显示,格式为:24-hour HH:MM:SS
\\T当前实现显示,格式为:12-hour HH:MM:SS
@当前实现显示,格式为:12-hour am/pm
\\A当前实现显示,格式为: 24-hour HH:MM
\\u当前用户的用户名
\\vthe version of bash (e.g., 2.00)
\\Vthe release of bash, version + patch level (e.g., 2.00.0)
\\w当前目录(显示为全路径),$HOME目录显示为~
\\W当前目录(显示为basename的信息),$HOME目录显示为~
!当前命令在历史命令缓冲区中的序号
#命令编号, 从1开始(!是在history的位置)
$超级用户(UID为0)显示为#,其余显示为$
\\nnn使用八进制表示的ASCII,比如\\a也可以表现为\\007
\\反斜线
[非打印字符序列开始,比如颜色转义序列信息
]非打印字符序列结束

以上是关于环境变量PS1介绍的主要内容,如果未能解决你的问题,请参考以下文章

linux 命令提示符修改详细介绍

环境变量:PS1

linux环境下PS1变量配置

环境变量PS1配色方法

linux下环境变量PS1设置

修改linux环境变量使终端命令行颜色和样式改变