尝试了好多个Windows下的bash工具,因为平台软件单一、兼容性、稳定性等问题,最终选择Cygwin。于是,记录下如何把cygwin命令添加到系统右键菜单,方便直接在某个文件夹打开~

假设Cygwin安装在 D:\Cygwin,然后通过一下两种方法的任意一种,都可以实现。

第一种方法,直接利用mintty和bash,通过添加注册表实现,还是直接上命令

reg add "HKCR\Directory\Background\shell\Cygwin" /ve /d "Cygwin" /f
reg add "HKCR\Directory\Background\shell\Cygwin\command" /ve /d "D:\Cygwin\bin\mintty.exe -e /bin/bash --login -c \"cd '%V';exec bash;\"" /f

第二种方法,修改注册表,传递变量,执行如下命令

reg add "HKCR\Directory\Background\shell\Cygwin" /ve /d "Cygwin" /f
reg add "HKCR\Directory\Background\shell\Cygwin\command" /ve /d "D:\Cygwin\bin\mintty.exe /bin/env _T=%V /bin/bash -l" /f

修改用户目录下的文件".bash_profile",在文件的最后添加一下代码

_T=${_T//\\//} #替换所有的'\'为'/'
if [[ $_T == "" ]]; then
    _T=${HOME}
fi
cd "${_T}"
然后就完成了。

最后,说明一下,为什么选择使用cygwin。

1、常用软件都有,软件按需安装。虽然比较庞大,但没有传说中的那么夸张

2、Cygwin主要由Red Hat及其下属社区负责维护(最重要的原因,不会长期没人维护~会有新软件加入~有支援