Answers:
实现此目的的一种方法是修改.bashrc
文件。只需将以下内容放在.bashrc
文件末尾。
PS1="\n$PS1"
为了解释它是如何工作的,PS1
变量是否包含应显示为提示的内容。这只是说“设置PS1
为的先前内容PS1
,并带有换行符”。将其.bashrc
放在大多数发行版中,只会使bash每次您打开交互式外壳程序(但不是登录外壳程序,请参阅登录外壳程序和非登录外壳程序之间的区别?)时都运行它。
PS1="\n$PS1"
在终端中执行具有立竿见影的效果:)
clear
(或按Ctrl+l
)后,显示的第一行是空行。对于某些人来说,这可能是一个很小的细节,但是我更希望第一行是提示。
您可以使用PROMPT_COMMAND:
PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"
要么:
PROMPT_COMMAND="echo;$PROMPT_COMMAND"
PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"
吗?以目前的形式,当我将其放入.bashrc
文件中时,它似乎无所不能。
printf
而且echo
非常轻巧,但是使用PROMPT_COMMAND
什么时候PS1
完成工作仍然没有意义。
替代方法:在的PS1=
提示中保留一行.bashrc
。从字面上看,这是我.bashrc
在每台Linux机器上设置的方法:
PS1='
serg@ubuntu [$(pwd)]
================================
$ '
如您在上面的示例中所见,用户名被硬编码到提示中。您当然可以使用bash或其他shell(例如ksh)的转义序列)提供的,但更中性的选择是通过whoami
(报告用户名)和hostname
(显然是报告主机名)之类的命令来使用参数替换。例如:
PS1='
$(whoami)@$(hostname):$(pwd)
$ '
有关提示,.bashrc
和参数扩展的更多有趣信息,请在此处查看我的答案:
$(whoami)
代替usernamehardcoded