我在我的文件中看到这个.bashrc
:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\
[\033[01;34m\]\w\[\033[00m\]\$ '
我有完全不知道所有这些转义代码的含义是什么。
答案1
里面有三种转义码:bash参数扩展,bash 提示符扩展, 和终端转义码。
${debian_chroot:+($debian_chroot)}
意思是“如果$debian_chroot
已设置并且非空,则($debian_chroot)
,否则什么都没有”。 (查看/etc/bash.bashrc
如何debian_chroot
定义。顾名思义,这是 Debian 的东西。)- 反斜杠转义是即时转义。
\u
被替换为用户名,\h
被替换为机器名称,依此类推(有关列表,请参阅手册)。其中的部分\[…\]
是终端逃逸;括号告诉 bash 这些部分不占用屏幕上的任何空间(这让 bash 计算提示的宽度)。\033
是ESC字符(八进制的字符号033,即十进制的27,有时写成\e
或^[
);它引入了终端转义序列。 ESC [ codes m
(写CSI Pm m
在 xterm 控制序列列表中)更改以下文本的颜色或外观。例如,代码1
切换为粗体,32
将前景色切换为绿色,0
切换为默认属性。