【问题标题】:Customize bash prompt PS1自定义 bash 提示 PS1
【发布时间】:2022-01-20 08:31:49
【问题描述】:

我自定义我的 bash 提示符:

PS1='\e[0;36m\u.\h
\e[0;31m $ux \e[0;92m \e[0;36m \@* \e[0;31m\w\n\e[0;92m\$ '

输出效果很好,看起来不错

但是当我使用箭头键滚动历史时

在滚动 5-10 次后,我无法移动到行首来修改

我找到的代码/命令

我看到了最后一条命令的一部分

我执行的命令:

$ ps 辅助 | grep ssh

滚动后我看到

以提示行为例

$ ps 辅助 我只能在 aux

之后开始写

所以我按 ctrl+c 换行/取消命令

我忘记了 $ 后面的字符吗?

这是我的提示:

z4o.ubuntu
   12:46 * /
$

当我复制/粘贴长命令时,我遇到了同样的问题

【问题讨论】:

    标签: bash prompt


    【解决方案1】:

    你必须在\[ \](或\x01\x02`字节)中放入不可见的序列。请参阅 Bash 手册。

    PS1='\[\e[0;36m\]printable stuff\[\e[sequence\]'
    

    Bash 不知道显示的字符占用了多少列。 \e[0;36m 打印 7 个字符,但不移动光标。您必须将其传达给 Bash。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 2015-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多