目前是:

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


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

如何使它更像是:

michael:controllers$


评论

askubuntu.com/questions/816068/…

#1 楼

要仅在当前终端实例上更改它,只需输入PS1='\u:\W$ '并按Enter。 >
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$ '
fi
~/.bashrc,并用大写的@\h替换\w,使其变为:
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u\[3[00m\]:\[3[01;34m\]\W\[3[00m\]$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u:\W$ '
fi

保存,退出,关闭端子并启动另一个以查看结果。 >
有更多选项!

请参阅此处以获得更广泛的方法,还有更多选项
请参阅此答案,以使用微小的Python脚本设置提示,以便仅当您深入目录结构时才会发生缩短。


评论


您还可以有很多信息...然后像unix.stackexchange.com/q/88780/10043所示最后返回回车符

–迈克尔·杜兰特(Michael Durrant)
2014年5月23日在22:18

有没有办法使这个全球化?换句话说,如果我对其他用户感到陌生,那么此设置是否可以保留,但仅适用于我自己(即,对于他们通常使用其帐户的用户而言,不适用)?

–ctote
15年5月14日在16:20

为了拥有在Linux和OSX上都可以使用的共享.bashrc,我已经切换到unix.stackexchange.com/a/127800/10043

–迈克尔·杜兰特(Michael Durrant)
15年5月19日在12:40

即HOST ='\ 033 [02; 36m \] \ h'HOST =''$ HOST parse_git_branch(){git branch 2> / dev / null | sed -e'/ ^ [^ *] / d'-e's / * \(。* \)/ \ 1 /'; } TIME ='\ 033 [01; 31m \] \ t \ 033 [01; 32m \]'LOCATION ='\ 033 [01; 34m \] pwd | sed“ s#(/ [^ /] \ {1,\} / [^ /] \ {1,\} / [^ /] \ {1,\} /)。*(/ [^ /] \ { 1,\} / [^ /] \ {1,\})/ \ {0,1 \}#\ 1_ \ 2#g“'BRANCH ='\ 033 [00; 33m \] $(parse_git_branch)\ [ \ 033 [00m \] \ n \ $'PS1 = $ TIME $ USER $ HOST $ LOCATION $ BRANCH PS2 ='\ [\ 033 [01; 36m \]>'

–迈克尔·杜兰特(Michael Durrant)
15年5月19日在12:44



但请参阅实际使用代码的答案。

–迈克尔·杜兰特(Michael Durrant)
15年5月19日在12:44

#2 楼

在当前终端中运行此代码

PROMPT_DIRTRIM=3


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

效果:

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


如果要使其永久不变,请在下面添加以下行: ~/.bashrc开头:

PROMPT_DIRTRIM=3


或另一个大于零的数字。

评论


只是一个旁注:这需要Bash 4。

– Stefan Lasiewski
14年6月18日,0:12

很好...为此我添加了一个bach_alias(带有一个函数)提示符dir(){PROMPT_DIRTRIM = $ 1; }只是为了让生活更轻松...

– dgoosens
18年8月17日在0:10

有没有办法只修剪中间目录,即保留第一个目录和最后一个目录?例如/var/.../列表#

–令人沮丧的Adlinge
20年8月23日在17:26



#3 楼

这是我的首选提示设置:

~/.bashrc中添加

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


它看起来像这样:

[user@hostname dirname]$


$符号后带有空格)

评论


如何在每个单词之间添加空格?另外,我可以给它上色吗?

–丹尼尔·斯普林格(Daniel Springer)
17年5月6日21:36

#4 楼

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

PS1='\W$ '


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

#5 楼

我意识到这已经很老了,但是由于没有人建议创建别名,所以我认为我会发布。使用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


评论


逐步指南对此非常有用,因为我不知道如何使用.bash_aliases。谢谢


16年2月2日在10:26

“。”前缀表示隐藏的目录或文件。代字号“〜”是$ HOME变量的缩写形式。因此,“〜/ .bash_aliases”只是“ /home/$USER/.bash_aliases”的缩写。要打开“ .bash_aliases”,您可以打开终端并输入“ gedit /home/$USER/.bash_aliases”或“ gedit〜/ .bash_aliases”,或者在主目录中键入ctrl-h以显示隐藏文件并直接打开文件。希望能有所帮助。您可能还想在Google中搜索有用的别名。

–艾莉·卡佛(Allie Carver)
16-2-3在17:46

#6 楼

我编写了一个函数,可以对其进行修改以适合您的需求:

function termprompt() {
    PS1="${PS1//@\h/}"     # Remove @host
    PS1="${PS1//\w/\W}"   # Change from full directory to last name
}


在完全计算了~/.bashrc线之后,将此函数放置在PS1的底部或底部。

只要想缩短提示时间,或者要从termprompt的底部调用termprompt以获得永久性,都可以输入~/.bashrc

这种技术相对于许多其他答案的优势是.bashrc可以通过四种不同的方式设置PS1(xterm +无颜色,xterm +颜色,no-xterm +无颜色,no-xterm +颜色)。该答案支持所有四种当前方法,可能还支持将来的方法。

另一个优点是,此方法具有要遍历以便插入您的更改的控制代码,不太复杂。