在命令行提示之间插入空行

在命令行提示之间插入空行

使用命令行时,通常会变得非常混乱。例如,不方便检查过去的命令及其输出。

我希望每次在显示命令提示符之前添加换行符。就像这样:

<clutter>
<blank line>
name@machine:~$

我使用 bash shell。如何才能实现这一目标?

答案1

实现此目的的一种方法是修改该.bashrc文件。只需将以下内容放在文件末尾即可.bashrc

PS1="\n$PS1"

为了解释它是如何工作的,PS1变量包含应显示为提示的内容。所有这一切都是说“设置PS1为 的先前内容PS1,并在前面添加换行符”。将它放在.bashrc大多数发行版上只会让 bash 在每次打开交互式 shell 时运行它(但不是登录 shell - 请参阅登录 Shell 和非登录 Shell 之间的区别?)。

答案2

您可以使用提示命令:

PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"

或者:

PROMPT_COMMAND="echo;$PROMPT_COMMAND"

答案3

替代方案:在PS1=.下面是我在每台 Linux 机器上的.bashrc设置方法:.bashrc

PS1=' 
serg@ubuntu [$(pwd)]
================================
$ '

正如您在上面的示例中看到的,用户名被硬编码到提示中。您当然可以使用转义序列巴什或另一个外壳(例如克什)提供,但更中立的选项是使用whoami(报告您的用户名)和hostname(显然,报告主机名)等命令的参数替换。例如:

PS1='
$(whoami)@$(hostname):$(pwd)
$ '

有关提示.bashrc、参数扩展的更多有趣内容,请在此处查看我的答案:

如何使用终端查看电池状态?

如何让我的终端/外壳具有自定义设计?

如何在命令提示符之前在终端中显示正在运行的时钟?

相关内容