我最近在我的~/.bashrc文件中添加了这几行代码,以便在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中:如果我只执行renametab mytabname,则导出只会进入一个子shell,当脚本完成时,该子shell将被终止。
再次感谢大家的帮助!
发布于 2010-03-10 00:54:32
这是我的Ubuntu上关于终端标题的默认设置:
PS1='\[\e]0;\u@\h: \w\a\]'在你的PS1前加上这段代码,应该没问题。
发布于 2010-03-10 00:55:45
您可以尝试:
PS1="$PS1"'\h:\w$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '但是如果能早点知道PS1在~/.bashrc或/etc/bash.bashrc中设置的值会很有帮助。
发布于 2013-10-31 00:06:16
如果您幸运的话,您的终端是Xterm兼容的,您可以使用ANSI序列来设置您的终端标题。
我不会给你序列,而是给你documentation。现在,您可以为提示符添加颜色。您需要的序列被描述为xterm title hack,这就是它。
您还可以使用提示中的控制序列来帮助设置PS1。这些可以在PROMPTING下的BASH手册页中找到。
这是我的.bashrc中的内容
PS1="\e]0;BASH: \u@\h\aBASH \v: \u@\h:\w\n\$ "\e]0;BASH: \u@\h\a -设置窗口标题\e] -发送ESC字符,后跟左方括号。这是ANSI命令sequence.0; -0的开始,后面跟着一个分号。以下字符串设置主机-我的窗口标题\u -用户Name@ - The @ sign\h -sign\h Name
- `\a` - The BEL (Cnrl-G) which ends my title
BASH \v: \u@\h:\w\n\$ -设置我的提示符BASH \v: -字符串BASH,后跟版本。我的默认shell是Ksh,所以当我使用BASH shell时,我希望在我的prompt\u中看到单词BASH -用户name\h -主机name\w -当前工作目录(主based)\n -新行-我的提示符是两行。这样,如果有根privileges.,长目录就不会占用命令行space.
\$ -美元符号或#
尽情玩耍,玩得开心。尝试不同的转义序列。添加颜色。嵌入GIT的东西。探索。
记住,它只是一台电脑。你所能做的最糟糕的事情就是导致整个系统崩溃,删除你所有有价值的工作,丢掉你的工作,成为一个无可救药的弃儿,他们唯一的收入来源就是问顾客是否想要薯条。除非你在银行工作。然后,你还可以拖累整个全球经济。
https://stackoverflow.com/questions/2410802
复制相似问题