Git的“Bash.exe”vs“Git Bash.vbs”
问题描述:
在玩了一段时间后,发现有些东西在bash.exe中运行命令时不能在bash中运行。Git的“Bash.exe”vs“Git Bash.vbs”
问题在于使用virtualenvwrapper。未正确激活环境。
ERROR: Environment '/e/virtualenvs/test' does not contain an activate script.
而且在做workon
时也没有列出环境。它只是显示一个空的列表。
但如果它在bash通过“混帐Bash.vbs”发射完成它,所有的命令做工精细,以及环境等激活
我试着寻找VBS文件,但即时通讯不是真的用于vbs代码,不知道发生了什么。
所以我想知道该.vbs确实使bash中的事情“工作”,否则将无法正常工作的。希望它不是一个virtulenvwrapper特定的问题,而是一个常见的事情,即.vbs文件可以使事情更加兼容?
编辑:更新
好了,经过一番更多的测试,我发现究竟是什么触发,但我现在仍然不为什么它也可以正常工作。
如果我从gits目录启动sh.exe,我会得到原始的破坏行为。但运行sh.exe --login和virtualenvwrapper的作品。
所以它应该是现在 - 什么是--login做让事情“工作”
答
的--login
命令行选项传递给bash
使其表现为一个“登录shell” —一开始为用户登录时(系统提示用户提供其用户名和密码时,系统会使用旧的“Login:”提示提示)。
虽然状态上述排序的描述中obvios的事情,从“正常”行为,真正的差别调用外壳是它读取启动文件。请参阅this section(请参阅--login
和-l
那里的命令行选项的讨论),然后使用适当的位形式here。
然后找到所有它使用Git的安装目录下的etc
目录下读取文件。也就是说,你要找的是etc\profile
。
据称该文件在影响其行为的壳套某些事情了。
这与VBS无关。你为什么要这样标记它。 – Noodles 2014-10-05 13:38:23