【问题标题】:Prompt string 1 length提示字符串 1 长度
【发布时间】:2026-01-10 15:40:01
【问题描述】:

我创建了一个很好的提示字符串,可以让我跟踪当前的工作目录。但是我犯了一个简单的错误。我没有正确使用括号“[”和“]”,这会导致 bash 错误地表示提示中的字符数,从而阻止正确包装长命令。

export PS1="\[\033[0;34m\]\w \033[0;30m\]\]\$ "

我尝试过this helpful example,但不确定要解决什么问题。

【问题讨论】:

  • 提示中长度为 0 的每个部分都应包含在 \[...\] 中。
  • \w的输出算作长度0吗?
  • \w 在内部由bash 扩展,因此它知道如何计算结果字符串的长度。它不需要被封闭。只有 终端 减少为 0 长度字符串的转义序列等字符需要括起来。

标签: bash prompt .bash-profile


【解决方案1】:

像这样使用带有右转义的单引号:

export PS1='[\[\033[0;34m\]\w\[\033[0;30m\]]$ '

【讨论】:

    最近更新 更多