了解转义码

了解转义码

我在我的文件中看到这个.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切换为默认属性。

相关内容