我最近将这些行添加到我的〜/ .bashrc文件中,以显示当前分支,如果我在一个git工作文件夹中,并且它很适合.但是,我丢失的是当前文件夹名称曾经显示在我打开的终端的选项卡中,现在它不是:它总是只是说'终端'.我可以回来并仍然保留git的东西吗?这是有问题的线 - 这是问题的第二个,因为只注释第二行就可以解决问题.
source /etc/bash_completion.d/git
PS1='\h:\w$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '
我一直在寻找PS1选项的解释,但在那里看不到关于终端窗口标题的任何信息.任何人都可以建议吗?谢谢,最大
编辑
我实际上已经操纵PS1以便拥有格式的终端
<rvm version and gemset> <computer name> <current folder> <git branch>
,每个部分都有不同的颜色,但我以前从未真正看过这些文档,所以感谢你的链接.我目前的PS1设置是
\[\033[0;31m\]$(__my_rvm_ruby_version)\[\033[0;33m\]\h\[\033[0;37m\]:\[\033[1;33m\]\W\[\033[1;32m\]$(__git_branch)\[\033[1;32m\]$(__git_dirty) \[\033[0;37m\]$
想必我可以做点什么
export "<something> $PS1"
设置终端选项卡名称而不会丢失现有设置.虽然我一直在探索这个问题并且无法做到这一点.
编辑 - 在下面的一些答案的帮助下想出来 - 谢谢大家!我把它包装在一个shell脚本中
#!/usr/bin/env bash
#renames the current terminal tab via the PS1 env var
source ~/.bashrc
export PS1="$PS1""\[\e]0;$1 \a\]"
它被称为"renametab",所以我现在可以用它来调用它
source renametab mytabname
将变量导出到当前shell中需要"source":如果我只是执行renametab mytabname导出,则会进入子shell,该脚本在脚本完成时被终止.
再次感谢所有人的帮助!
这就是我的 Ubuntu 上关于终端标题的默认设置:
PS1='\[\e]0;\u@\h: \w\a\]'
在你的 PS1 前面加上这个应该没问题
你可以试试:
PS1="$PS1"'\h:\w$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '
但它有助于了解PS1在之前~/.bashrc或之中的设置/etc/bash.bashrc.