Shell提示符($和#的区别)

Shell提⽰符($和#的区别)
启动终端模拟包或者从 Linux 控制台登录后,便可以看到 Shell 提⽰符。提⽰符是通往 Shell 的⼤门,是输⼊ Shell 命令的地⽅。
对于普通⽤户,Base shell 默认的提⽰符是美元符号$;对于超级⽤户(root ⽤户),Bash Shell 默认的提⽰符是井号#。该符号表⽰ Shell 等待输⼊命令。
不同的 Linux 发⾏版使⽤的提⽰符格式不同。例如在 CentOS 中,默认的提⽰符格式为:
[mozhiyan@localhost ~]$
这种格式包含了以下三个⽅⾯的信息:
启动 Shell 的⽤户名,也即 mozhiyan;
本地主机名称,也即 localhost;
当前⽬录,波浪号~是主⽬录的简写表⽰法。
Shell 通过PS1和PS2两个环境变量来控制提⽰符格式:
PS1 控制最外层命令⾏的提⽰符格式。
PS2 控制第⼆层命令⾏的提⽰符格式。
在 Shell 中初次输⼊命令,使⽤的是 PS1 指定的提⽰符格式;如果输⼊⼀个命令后还需要输⼊附加信息,Shell 就使⽤ PS2 指定的提⽰符格式。请看下⾯的例⼦:
1. [mozhiyan@localhost ~]$ echo "C语⾔"
2. C语⾔
3. [mozhiyan@localhost ~]$ echo "c.biancheng"
4. c.biancheng
5. [mozhiyan@localhost ~]$ echo "
6. > yan
磷酸盐缓冲液7. > chang
8. > sheng
9. > "
10.
11. yan
12. chang
13. sheng
14.
15. [mozhiyan@localhost ~]$
echo 是⼀个输出命令,可以⽤来输出数字、变量、字符串等;本例中,我们使⽤ echo 来输出字符串。
字符串是⼀组由" "包围起来的字符序列,echo 将第⼀个"作为字符串的开端,将第⼆个"作为字符串的结尾。此处的字符串就可以看做 echo 命令的附加信息。
本例中,前两次使⽤ echo 命令时都是在后⾯紧跟字符串,⼀⾏之内输⼊了完整的附加信息。第三次
使⽤ echo 时,将字符串分成多
⾏,echo 遇到第⼀个"认为是不完整的附加信息,所以会继续等待⽤户输⼊,直到遇见第⼆个"。输⼊的附加信息就是第⼆层命令,所以使⽤>作为提⽰符。
要显⽰提⽰符的当前格式,可以使⽤ echo 输出 PS1 和 PS2:
1. [mozhiyan@localhost ~]$ echo $PS1
2. [\u@\h \W]\$
摇滚年3. [mozhiyan@localhost ~]$ echo $PS2
4. >
5. [mozhiyan@localhost ~]$
车道被占用对城市道路通行能力的影响Shell 使⽤以\为前导的特殊字符来表⽰命令提⽰符中包含的要素,这使得 PS1 和 PS2 的格式看起来可能有点奇怪。下表展⽰了可以在 PS1和 PS2 中使⽤的特殊字符。
Bash shell 提⽰符可以包含的要素
字符描述
\a铃声字符中国高射机
\d格式为“⽇⽉年”的⽇期
\e ASCII转义字符
\h本地主机名
\H完全合格的限定域主机名
\j shell当前管理的作业数
\1shell终端设备名的基本名称
\n ASCII换⾏字符
\r ASCII回车
\s shell的名称
集美大桥\t格式为“⼩时:分钟:秒”的24⼩时制的当前时间
\T格式为“⼩时:分钟:秒”的12⼩时制的当前时间
\@格式为am/pm的12⼩时制的当前时间
\u当前⽤户的⽤户名
\v bash shell的版本
\V bash shell的发布级别
\w当前⼯作⽬录
\W当前⼯作⽬录的基本名称
\!该命令的bash shell历史数
\#该命令的命令数量
\$如果是普通⽤户,则为美元符号$;如果超级⽤户(root ⽤户),则为井号#。
\nnn对应于⼋进制值 nnn 的字符
\\斜杠
\[控制码序列的开头
\]控制码序列的结尾
注意,所有的特殊字符均以反斜杠\开头,⽬的是与普通字符区分开来。您可以在命令提⽰符中使⽤以上任何特殊字符的组合。
我们可以通过修改 PS1 变量来修改提⽰符格式,例如:
四甲基联苯胺1. [mozhiyan@localhost ~]$ PS1="[\t][\u]\$ "
2. [17:27:34][mozhiyan]$
新的 Shell 提⽰符现在可以显⽰当前的时间和⽤户名。不过这个新定义的 PS1 变量只在当前 Shell 会话期间有效,再次启动 Shell 时将重新使⽤默认的提⽰符格式。

本文发布于:2024-09-24 23:20:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/257940.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   字符串   格式   控制   符是   字符   特殊字符
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议