我知道有很多相关的问题,但是我找不到任何其他方法来获得有关此问题的帮助:
在我的 CentOS 虚拟机上,我为我的 bash 提示制作了一个自定义脚本 /etc/profile.d/custom.sh
PS1="\n\e[0;97m\][\D{%d%m%y-%H%M}][\u@\h \W] \n\e[m\]\$ "
export PS1
Run Code Online (Sandbox Code Playgroud)
我的 bash 现在看起来像这样:
但是,如果我键入一个长命令并且我想使用 CTRL-A 将光标移到第一个位置,则会发生以下情况:
输入了很长的东西。我想在行的开头更改某些内容,因此我将按 CTRL-A 将光标置于第一个位置:
按 CTRL-A 后:
现在,如果我尝试使用 DEL 或 BACKSPACE 删除整行,这是最终结果吗?
无论我如何尝试删除这 4 个字符,它们始终会保留,直到我按下 ENTER 键。总是显示最后 4 个字符,但好像它们不存在.. 我可以随意输入命令,它们将被忽略:
在最后一张图片中,我成功执行了cd /var
命令,现在 bash 就像预期的那样。
有什么想法吗?
你需要\[
在每个之前\e
:
PS1="\n\[\e[0;97m\][\D{%d%m%y-%H%M}][\u@\h \W] \n\[\e[0m\]\$ "
Run Code Online (Sandbox Code Playgroud)