我怎样才能缩短我的命令行(bash)提示符?

我怎样才能缩短我的命令行(bash)提示符?

目前是:

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

除了重命名我的机器和目录结构之外......

我怎样才能使它更像这样:

michael:controllers$

答案1

仅为当前终端实例更改它

只需输入PS1='\u:\W\$ '并按回车键即可。


“永久”更改它

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

如果 [ “$color_prompt” = 是 ]; 然后
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
别的
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

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

如果 [ “$color_prompt” = 是 ]; 然后
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
别的
    PS1='${debian_chroot:+($debian_chroot)}\u:\W\$ '

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


还有更多选择!

  • 这里了解更详尽的操作指南,其中包含更多选项
  • 这个答案使用一个小的 Python 脚本来设置提示,以便只有当你深入目录结构时才会发生缩短。

答案2

在当前终端运行此代码

PROMPT_DIRTRIM=3

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

效果:

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

如果要永久保留,请~/.bashrc在开头添加以下行:

PROMPT_DIRTRIM=3

或大于零的其他数字。

答案3

这是我喜欢的提示设置:

添加~/.bashrc

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

它看起来像这样:

[user@hostname dirname]$

(符号后有一个空格$

答案4

我意识到这篇文章已经过时了,但既然没人建议创建别名,我想我还是发一下吧。使用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

相关内容