第一步:修改windows注册表

  1. 开始->运行(或者win键+R),输入REGEDIT,回车,打开注册表编辑器;

  2. 找到HKEY_CLASSES_ROOT\Directory\Background\shell;

  3. 右键点击shell,“新建”->“项”,名字是要显示在右键菜单中的,可以随便写。这里写“OpenCygwin”,回车;

  4. 在刚创建的“OpenCygwin”上点右键,新建->项,这回名字不能乱起,写“command”,回车。右边窗口会显示一个名字叫“默认”,类型为“REG_SZ”的键值;

  5. 双击那个“默认”,能够修改数值数据,里面输入Cygwin的启动脚本路径,比如我的“D:\Dev\Cygwin\Cygwin.bat %V”,把引号去掉,写好确定。

  6. OK,现在在文件夹中点开右键,你就可以看到多了一个名字叫“OpenCygwin”的选项。别急着点,肯定会提示错误,继续下一步。

或者创建注册表文件导入文件后shift+右键菜单

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin]
@="Open &Cygwin"
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin\command]
@="C:\\cygwin64\\Cygwin.bat %V"

或者创建注册表文件导入文件后直接右键菜单

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere]
@="在此处打开命令窗口"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere\command]
;@="cmd.exe /s /k pushd \"%V\""
@="C:\\cygwin64\\Cygwin.bat %V"

;删除键值
;[-HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere]

第二步:修改Cygwin启动脚本和环境变量

  1. 修改Cygwin.bat文件,如下:
@echo off
set _T=%*
C:
chdir C:\cygwin64\bin

bash --login -i
  1. 修改.bash_profile文件,在home(用户名)目录下,文件最后加入:
export _T=${_T//\\//}   # replace backslash to fowardslash
if [[ $_T == "" ]]; then
   export _T="C:/Users/Administrator"
fi
cd "$_T"

好了,保存好修改的文件,再次在文件夹中点击右键,选择“OpenCygwin”,是不是进入当前目录了。

  • bash: /home/Administrator/.bash_profile:行6: 语法错误: 未预期的文件结尾
在cygwin中输入:dos2unix -n .bash_profile .bash_profile

或者用Notepad2.exe打开.bash_profile文件
更改换行编码为Unix

关闭重新打开cygwin,ok了。所以再一次提醒,不要用window里的记事本或者写字本打开修改,使用UltraEdit不要转化格式,因为在window下和linux中回车符是不相同的。