如何缩短命令行(bash)提示?

目前它是:

michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$ 

重命名我的机器和目录结构之外…

我怎么能让它更像是:

 michael:controllers$ 

仅为当前终端实例更改它

只需输入PS1='\u:\W\$ '并按Enter键。


要“永久地”改变它

在你的~/.bashrc ,找到以下部分:

 if [“$ color_prompt”= yes]; 然后
     PS1 ='$ {debian_chroot:+($ debian_chroot)} \ [\ 033 [01;32米\] \Ú@ \ħ\ [\ 033 [00米\]:\ [\ 033 [01;34米\] \ W \ [\ 033 [00m \] \ $'
其他
     PS1 ='$ {debian_chroot:+($ debian_chroot)} \ u @ \ h:\ w \''
科幻

删除@\h ,并用大写\W替换\w ,使其变为:

 if [“$ color_prompt”= yes]; 然后
     PS1 ='$ {debian_chroot:+($ debian_chroot)} \ [\ 033 [01;32米\] \ U \ [\ 033 [00米\]:\ [\ 033 [01;34米\] \ W \ [\ 033 [00m \] \ $'
其他
     PS1 ='$ {debian_chroot:+($ debian_chroot)} \ u:\ W \''
科幻

保存,退出,关闭终端并启动另一个终端以查看结果。


吨更多的选择!

  • 有关更多选项的详细信息,请参阅此处
  • 请参阅此答案,了解如何使用微小的Python脚本来设置提示,以便只有在深入目录结构时才会发生缩短。

在当前终端中运行此代码

 PROMPT_DIRTRIM=3 

现在,bash提示符将仅显示最后3个目录名称。 您可以选择1以仅显示当前目录。 GNU文档中提供了更多信息。

效果:

 /var/lib/apt/lists# PROMPT_DIRTRIM=3 /.../lib/apt/lists# 

如果要永久创建它,请在开头的~/.bashrc中添加以下行:

 PROMPT_DIRTRIM=3 

或大于零的其他数字。

这是我首选的提示设置:

添加在~/.bashrc

 PS1='[\u@\h \W]\$ ' 

它看起来像这样:

 [user@hostname dirname]$ 

$符号后面有空格)

我个人更喜欢在bash提示符中只看到当前文件夹。 我可以使用以下命令执行此操作:

 PS1='\W\$ ' 

如果您希望它在每次启动后生效,请将上述命令添加到〜/ .bashrc中。

我意识到这是超级老,但因为没有人建议创建一个别名,我想我会发布。 使用Bash提示符转义序列我shorten了别名

~/.bash_aliases你会注意到$ Blue var来设置你可以根据偏好省略或改变的提示颜色我也在调用缩短时清除终端。

 alias c='clear' alias shorten='PS1="$Blue$USER:\W$ "&& c' 

要实现OP所需的提示字符串:

 alias shorten='PS1="$USER:\W$ "' 

我在~/.bashrc副本中定义颜色并粘贴自https://wiki.archlinux.org/index.php/Color_Bash_Prompt 。 另外注意ansi代码颜色是什么? 我很困惑只是看着它。

 Blue='\e[0;34m' # Blue