如何在 shell 的提示符下自动显示光标

如何在 shell 的提示符下自动显示光标

我运行以下一系列命令,将curser带到shell终端的提示符下。

$ NL='              # << press enter
'                   # << press enter again
$ PS1=${PS1}${NL}

我每次登录时都必须这样做。我怎样才能自动化它?我尝试添加这些相同的语句~/.profile并重新启动。没有运气。

编辑:

我是这样做的。我在(我创建了它)中添加了以下(我最喜欢的 bash 提示符)行~/.bashrc

export PS1="===================\n\n\d \A \u@\H [\w]\n\\$ \[$(tput sgr0)\]"

答案1

使用NL=$'\n'$NL使用它时还需要双引号(也可能$PS1,取决于它包含的内容......无论如何将其包含在双引号内)。

例如添加到您的~/.bash_profile(或者~/.profile如果您愿意的话):

NL=$'\n'
PS1="${PS1}${NL}"

顺便说一句,从长远来看,我敢打赌您会厌倦额外的换行符浪费了多少宝贵的垂直终端空间。屏幕的宽度往往远大于高度(例如,16:9 宽高比的一些常见分辨率为 1920x1080 或 2560x1440,而 16:10 的常见分辨率为 1920x1200 或 2560x1600),因此垂直屏幕空间更加稀有且更有价值。浪费的空间越多,您在屏幕上立即看到的有用信息就越少。

答案2

您可能希望明确提示的内容:

PS1='\u@\h:\w\n\$ '

https://www.gnu.org/software/bash/manual/bashref.html#Controlling-the-Prompt

我有一个行提示符对我来说非常有用。

相关内容