2012-02-24 58 views
4

在我的Windows机器上安装Cygwin后,Git Bash被破坏。每次我试图执行一个命令,出现以下错误:安装Cygwin后Git Bash破裂

sh.exe“:tput的:没有找到命令

即使重新安装的Git(击)没有帮助...

+0

由于错误提示您的cygwin设置中缺少'tput'命令。看看你是否安装了所需的软件包。 [此链接](http://cygwin.com/cgi-bin2/package-grep.cgi?grep=tput.exe)可能会帮助您了解需要哪些软件包 – 2012-02-24 09:10:30

+0

Cygwin和Git Bash(nèemsysgit)应该是独立的。你试图调用什么命令,从哪里来? – ak2 2012-02-24 09:56:02

+0

基本上,它显示正确_before_新命令的输入...并且我已经安装了tput ... @ ak2我也这么认为。但是,正如你看到的... – Scott 2012-02-24 13:04:04

回答

2

现在解决了这个问题。我的文档中有一个奇怪的.bashrc(~\.bashrc),它通过在tput命令的帮助下使用颜色将$PS1设置为新值。这在Git Bash中不存在,它不应该在那里。

在注释掉设置/导出$PS1的行后,所有行都恢复正常。

线被类似

export PS1="$(tput ... 

(我不记错的话)。

我不知道它是从哪里来的,也许是我不小心在那里复制它的cygwin ...

+0

你可以添加一些细节,比如你评论的是什么? – VonC 2012-03-15 17:00:49

+0

我现在编辑了我的答案。 – Scott 2012-03-15 21:33:20

+0

谢谢你,并+1这个反馈。 – VonC 2012-03-15 21:45:45

3

也许你需要运行Cygwin的安装,并查找“的ncurses”包并安装它

(如this thread建议,并考虑tput is part of the ncurses library

another.anon.coward表明在注释使用Cygwin的网站,这证实了ncurses的安装需要的包grep的功能:

package-grep for tput


然而,OP Philipp15b提到的评论:

这就是这个问题:我们正在谈论Git for Windows (msysgit)和你说,它已得到无关Cygwin的。但由于某种原因安装Cygwin打破了Git。

尝试提供msysgit的git-cmd.bat启动您msysgit DOS会话。
它组织的PATH

@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%PATH% 

它可以帮助确保msysgit不受其他Cygwin的命令,这可能是在路径。

+0

现在, :我已经安装了它...但由于某种原因,似乎从git安装cygwin _removed_ tput ... – Scott 2012-02-24 13:04:47

+0

@ Philipp15b:只是可以肯定,你说的是在cygwin下的git,对吗?不是msysgit(https ://github.com/msysgit/msysgit,它是“Git for Windows”,并且根本不需要Cygwin) – VonC 2012-02-24 13:35:05

+0

@ Philipp15b:'cygwin removed tput'..你确定吗?你知道什么目录tput你的目光在那里?你的PATH是否仍然包含该目录(在CyGwin安装之后)?祝你好运。 – shellter 2012-02-24 14:07:32