从批处理提示中删除新行

从批处理提示中删除新行

我有以下提示:

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) 之后的顶行。

相关内容