linux shell中环境变量$PS1详解

简介: PS1 是shell命令行界面的主提示符。

PS1 是shell命令行界面的主提示符。

[root@iZ2vceej7yebpm7yec2Z ~]# echo $PS1
[\u@\h \W]\$

这些代表什么意思呢?

"[用户名@简写主机名最后所在目录]提示符"

在 PS1 变量中,如果是可以解释的符号,如"\u"、"\h"等,则显示这个符号的作用;如果是不能解释的符号,如"@“或"空格”,则原符号输出。我们修改一下 PS1 变量,看看会出现什么情况。

[root@localhost ~]# PS1='[\u@\t \w]\$'
#修改提示符为'[用户名@当前时间当前所在完整目录]提示符'
[root@04:46:40 ~]#cd /usr/local/src/
#切换到当前所在目录,因为家目录是看不出来区别的
[root@04:47:29 /usr/local/src]#

看到了吗?提示符按照我们的设计发生了变化


这里要小心,PS1 变量的值要用单引号包含,否则设置不生效。

再举个例子:

[root@04:50:08 /usr/local/src]#PS1='[\u@ \@ \h \# \W]\$'
[root@04:53上午 localhost 31 src]#
#提示符又变了。\@:时间格式是HH:MM am/pm;\#:会显示执行了多少条命令

PS1 变量可以自由定制,好像看到了一点 Linux 可以自由定制和修改的影子,还是很有意思的。不过说实话,一个提示符已经使用习惯了,如果换一个还是非常别扭的,还是改回默认的提示符吧,命令如下:

PS1='[\u@\H \W]\$'

61a2197f478e4a53b2b1f740621fe073.png注意,这些提示符的修改同样是临时生效的,一旦注销或重启系统就会消失。要想永久生效,必须写入环境变量配置文件。

man bash 可以看到更多参数,你可以自己定义:

94d07b1673624c129104ccb3ea4bd4eb.png当然还有PS2 PS3 PS4 一般来说PS3 和PS4由用户自定义

目录
相关文章
|
1天前
|
Shell Linux Perl
Linux|如何允许 awk 使用 Shell 变量
Linux|如何允许 awk 使用 Shell 变量
10 2
|
1天前
|
网络协议 Shell Linux
LabVIEW 在NI Linux实时设备上访问Shell
LabVIEW 在NI Linux实时设备上访问Shell
|
1天前
|
存储 Unix Shell
Linux:环境变量
Linux:环境变量
22 7
|
1天前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
13 1
|
1天前
|
Shell Linux 信息无障碍
5 个有用的 Linux Shell 转义序列
5 个有用的 Linux Shell 转义序列
|
1天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
30 5
|
1天前
|
Linux Shell 程序员
【Linux】权限(shell运行原理、概念,Linux权限)
【Linux】权限(shell运行原理、概念,Linux权限)
15 2
|
1天前
|
存储 运维 Java
Linux笔记02 —— Shell补充
Linux笔记02 —— Shell补充
33 2
|
1天前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
74 0
|
1天前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
47 0