我有以下提示:
PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33mCWD:\w | \d | \t | CM: \# | \V\s\033[0m\033[u\]
<\[\033[0;32m\]\u@\h\[\033[0m\]>\$"
每次我输入命令时,它都会在后面输入一个新行。我该如何删除它?
输出为:
prompt->ls
a.c b.c d.c
prompt->
我希望
prompt->ls
a.c b.c d.c
prompt->
可以这样做吗,同时将初始文本保持在顶部。
答案1
这文字前面的换行符<
是负责的。删除它:
PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33mCWD:\w | \d | \t | CM: \# | \V\s\033[0m\033[u\]<\[\033[0;32m\]\u@\h\[\033[0m\]>\$"
我认为换行符是为了防止提示的提示部分覆盖clear
(或Ctrl+ L) 之后的顶行。