在PS1之后添加换行符

时间:2012-10-23 18:28:08

标签: linux macos bash terminal

我正在尝试在提示后添加换行符。基本上我想要:

$ ls
                    <-- how do I get this line break?
file1 file2 file3
                    <-- this one is easy, PS1="\n$ " or whatnot
$

而不是

$ ls
file1 file2 file3
$

2 个答案:

答案 0 :(得分:3)

如果您使用的是Bash,则可以使用this one之类的脚本来提供preexec功能。

使用preexec,您可以在提示后添加换行符,方法是修改.bash_profile以包含

preexec() { echo; }
preexec_install

请注意,我必须修改上面链接脚本的第125行才能阅读

PROMPT_COMMAND="${PROMPT_COMMAND} preexec_invoke_cmd"

在我的OS X盒子上。

答案 1 :(得分:2)

如果您只想逐个案例地使用此功能,则可以执行以下操作:

$ echo -e "\n" && ls

(即告诉echo插入换行符,然后运行常规命令。-e标志告诉echo解释转义序列。并非所有系统配置都需要它)

为简洁起见,您可以创建一个别名,并在需要空格时使用它

$ alias ws='echo -e "\n"'
$ ws && echo "I am padded text"

  I am padded text