请考虑MySQL_PS1的以下设置
GREEN="$(echo -e '\033[01;32m')"
BLUE="$(echo -e '\033[01;34m')"
RESET="$(echo -e '\033[00m')"
export MYSQL_PS1="${GREEN}STAGING-\\d${BLUE} >${RESET} "当我启动mysql,并键入一个比可视行长度更长的命令时,它不换行,覆盖了行的开头。
我尝试了在这里提到的here的\[ \]技巧。
export MYSQL_PS1="\[${GREEN}\]STAGING-\\d\[${BLUE}\] >\[${RESET}\] "不幸的是,它生成了这个提示,而不是从行长度中正确排除转义字符。
] >\[\] >[\] ] >\[\] ]STAGING-\d\[\] >\[\] STAGING-messenger[\] >\[\]有没有一种方法可以在MYSQL_PS1中设置颜色而不弄乱估计的行长度?
发布于 2021-01-22 06:44:01
我在this comment中找到了答案,我将在这里转载。
正确的咒语是用\001和\002包围转义序列。
GREEN="$(echo -e '\001\033[01;32m\002')"
BLUE="$(echo -e '\001\033[01;34m\002')"
RESET="$(echo -e '\001\033[00m\002')"
export MYSQL_PS1="${GREEN}STAGING-\\d${BLUE} >${RESET} "https://stackoverflow.com/questions/65834658
复制相似问题