2015-02-09 152 views
6

背景:如何在Windows中设置TERM环境变量,以便它通过SSH和本地Git与Bash协同工作?

当使用Git的我的Windows版本在PowerShell中我发现,我得到了错误“终端是没有充分发挥作用”,所以我用了第二个解决方案发布here(即改变术语MSYS)修复问题。

但是,这引起了第二个问题,即当SSH进入我的Vagrant框时,Vim,Nano甚至Clear等命令行应用程序将无法运行,从而产生错误“msys:未知终端类型”。

然后,我试图将TERM更改为“ansi”,并且在ssh期间得到了更好的结果,因为这些应用程序运行良好,但仍然存在格式错误。

问:

是否有TERM在Windows环境变量的设置,将通过SSH正常工作的Git和流浪VM的Bash shell的两个我的Windows副本?

+0

?我以前在PowerShell中看到过你描述的错误,但是我有一段时间没有处理它。我正在运行git版本1.9.5.msysgit.0(你可以通过运行'git --version'来查看你的版本)。 – 2015-03-17 16:59:18

回答

1

最适合我的组合是:你使用的是哪个git.exe的版本

:: set proper TERM to not break `vagrant ssh` terminal, 
:: see https://github.com/tknerr/bills-kitchen/issues/64 
set TERM=cygwin 

:: trick vagrant to detect colored output for windows, see here: 
:: https://github.com/mitchellh/vagrant/blob/7ef6c5d9d7d4753a219d3ab35afae0d475430cae/lib/vagrant/util/platform.rb#L89 
set ANSICON=true 

:: mute the cygwin warning which otherwise comes on `vagrant ssh` 
set CYGWIN=nodosfilewarning 

(摘自set-env.bat file from bills-kitchen

+0

请注意,我主要使用这个从普通的ConEmu包裹的cmd.exe外壳。不知道这些是否是PowerShell的最佳设置。 – 2015-03-24 23:45:18

相关问题