我想写一个脚本,在Windows 7平台上运行一些git命令。
用户安装了git工具,或者至less是MINGW – 用于Windows的极简主义GNU。
麻烦的是一些用户从MINGW32 shell和其他cmd.exe运行。
使用MINGW32 shell的示例shell:
$ echo $SHELL /bin/sh
使用cmd.exe的示例shell
>echo %COMSPEC% C:\Windows\system32\cmd.exe
有没有什么办法可以从我的初始脚本确定shell,然后可能运行一个Windowsbatch file或其他的Unix脚本?
或者另一个想法是假设用户将使用git bash,只需检查$ SHELL是/ bin / sh。 这更容易吗?
我使用的一个技巧是命名你的sh脚本git-xxx
。
(用一个明智的名称替换xxx)。 用#!/bin/sh
启动你的脚本。
这样,你可以从git-bash或者CMD会话中启动' git xxx
'( git
space xxx
):每次都会使用MINGW shell。
确保git-xxx
(没有扩展名)在你的%PATH%
。
而PATH
也应该包含<path/to/git/bin>
和<path/to/git/usr/bin>
。 例如:
C:\prgs\git\PortableGit-2.7.0-64-bit\bin;C:\prgs\git\PortableGit-2.7.0-64-bit\usr\bin;
最后的路径有超过200个为Windows编译的unix命令。