bash - Bash PS1 提示符中的长行重叠

标签 bash unix ps1

我已经配置了一个 PS1 bash 提示符。

我的 ~/.bashrc 文件:

if [[ $EUID -ne 0 ]]; then
        PS1='\n\e[0;33m☛ \W\e[0m \n\e[1;35m⤷\e[0m '
fi

问题是新行与前一行重叠。 知道如何解决这个问题吗?

最佳答案

在 bash 提示符中使用非打印字符时,必须使用 \[...\] 将非打印序列(例如颜色代码)指定为非打印字符:

PS1='\n\[\e[0;33m\]☛ \W\[\e[0m\] \n\[\e[1;35m\]⤷\[\e[0m\] '

关于bash - Bash PS1 提示符中的长行重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17306348/

相关文章:

c++ - 在 C 或 C++ 中控制 shell 命令行通配符扩展

Python 脚本从 Bash 脚本运行而不记录

java - 在 Bash 中自动安装需要多次按键的 Java 应用程序

java文件移动高性能

linux - 修剪 PS1 的工作目录路径

bash - 这个 PS1 变量如何用单引号定义?

git - Bash - 用于分支管理的 GIT 小片段

bash - 如何在不使用 if else 或 switch 或 while 循环的情况下使用 bash 获取当年每个月的最后一天?

linux - Bash 脚本 : expansion of argument not using $@ or $*

linux - 使用 Gzip 单独压缩多个文件