bashrc中的$ MSYSTEM变量

时间:2013-04-16 15:43:52

标签: bash console ps1

我正在使用Windows 7.在安装 msysgit GitHub for Windows 时,我发现可以从文件夹中调用git bash。我打开了终端,我想要的第一件事是改变它在控制台中的显示方式。

以下是echo $PS1给我的信息:

\[\033]0;$MSYSTEM:\w\007 \033[32m\]\u@\h \[\033[33m\w$(__git_ps1)\033[0m\] $ 

我已经修改了我的bash PS1一段时间了,并且知道其中的大部分内容。但我以前从未见过$MSYSTEM

除了使用它来设置$MSYSTEM=MINGW32的一些结果之外,谷歌没有任何结果,这当然不是这种情况。

那么,MSYSTEM变量做什么?另外,当我创建一个文件.bashrc并将此行放在那里时;终端现在在我的用户名之前显示一个空格。这是因为此段\007 \033中的空白空间,但之前没有。以下是我使用自定义.bashrc时的屏幕截图以及不使用时的屏幕截图:

Without <code>bashrc</code>

没有bashrc

With <code>.bashrc</code>

使用bashrc

我知道为什么我的定制终端缺少换行符;但问题是:

  • 什么是$MSYSTEM
  • 为什么第一种情况下缺少第一个空白区?

1 个答案:

答案 0 :(得分:5)

它将Window标题设置为MSYSTEM变量的值。至于 空间,看起来你搞砸了最后的换行,仔细注意

export PS1='\[\033]0;$MSYSTEM:\w\007
\033[32m\]\u@\h \[\033[33m\w\033[0m\]
$ '

在新行的每个开头上方的变量中插入一个文字换行符 字符加入PS1

How to change the title of an xterm