终端时间戳文本换行,帮我修复它

终端时间戳文本换行,帮我修复它

有人可以帮我修复我添加到终端的时间戳吗? 它看起来像这样

但每次我使用向上箭头键时,文本都会变成这样

或者如果我没有设置位置

这是我添加到 .bashrc 的行:

导出 PROMPT_COMMAND="echo -n $(tput setaf 154)[$(date +%H:%M:%S) AM\] "

再次感谢 !

答案1

你可能想要这样的东西:

PS1='\[$(tput setaf 154)\][$(date "+%H:%M:%S %p")]\[$(tput setaf 15)\]:\w \$ '

这是\[...\]在 tput 输出周围添加的内容,以允许 bash 正确计算提示符的宽度。它使用单引号来延迟命令替换的评估,直到显示提示符

请注意,PROMPT_COMMAND(和 PS1)变量并且不需要导出到子进程的环境中。

相关内容