为什么bash的提示变量叫PS1?

Oli*_*nde 63 command-line bash

bash 提示的环境变量被调用PS1(通常在 ~/.bashrc 中设置)。PS1代表什么?有PS2吗?

bsd*_*bsd 74

PS1 代表“提示字符串一”或“提示语句一”,第一个提示字符串(您在命令行中看到的)。

是的,有 PS2 和更多!请阅读这篇文章和 Arch wiki,当然还有The Bash Reference Manual

  • 简而言之,PS2 用于连续命令(包含多于一行的命令),PS3 用于输入到正在运行的脚本中,而 PS4 用于跟踪/调试。 (30认同)
  • @AnsgarEsztermann,您的评论也可能是一个答案(我会投票赞成)。 (3认同)

小智 26

来自The Bash Reference Manual 的略微转述

PS1 主要提示字符串。默认值为“\s-\v\$”。

PS2 辅助提示字符串。即对于连续命令(那些占用多于一行的命令)。默认值为“>”。

PS3 这个变量的值用作选择命令的提示。即用于输入到正在运行的脚本中。如果未设置此变量,则选择命令会提示“#? '。

PS4 值为设置-x选项时回显命令行前打印的提示。PS4 的第一个字符根据需要多次复制,以指示多个间接级别。默认值为“+”。

PS1 和 PS2 来自原始 sh,PS3 和 PS4 被添加为 bash 的一部分

在此处查看示例