从批处理提示中删除新行

从批处理提示中删除新行

我有以下提示:

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

如果将整个变量放在一行上,则它不会在提示后添加新行。

在适用于 RHEL 8.3 的 GNU bash 版本 4.4.19 上进行了测试和工作

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\]>\$ "


<user@hostname>$ls
a.txt  b.txt
<user@hostname>$

相关内容