在每个终端命令后(开头除外)添加换行符

在每个终端命令后(开头除外)添加换行符

我想在终端中输入的每个命令后添加一个换行符。现在,我的.bash_profile文件中有以下行:

export PS1="\n\u$ "

这按预期工作:

在此处输入图片描述

但是这种方法的问题是,终端启动时顶部会创建一个换行符。有没有办法在启动终端时阻止换行符的出现?

答案1

它有点重,但你可以在 .bash_profile 中使用它:

PROMPT_COMMAND='PROMPT_COMMAND='\''PS1="\n\u$ "'\'

PROMPT_COMMAND 在每个提示之前进行评估。在第一行,它会重置自身以设置下一次的 PS1 提示(此后不断设置)。位'\''是将包含'在单引号字符串内。

答案2

使用 printf 的一种方法:

$ printf '%s\n' * $'\n'

或更好(对于每个命令):

$ PROMPT_COMMAND="echo"
$ ls

相关内容