Cygwin在打开在当前目录

来源:互联网 发布:npm和node.js 编辑:程序博客网 时间:2024/05/02 04:52

http://www.cnblogs.com/sohighthesky/archive/2011/06/24/2089042.html


前段时间捣鼓Linux, 有时切换到windows时,也习惯了linux命令,于是就装了cygwin,

 在win7上按住shift时右键一个“Open Command window here", 为了方便,就想在这里添加一个Open Cygwin的菜单,

 不过添加注册表菜单 后还是发现cygwin启动后打开的时home目录,后来发现cygwin启动时加了login参数就会进入home目录,试了几种办法,无果

今天 在环境变量里加了个HOME发现,cygwin的home也被改了,想到既然cygwin可以读取系统变量,把这样可以把启动的目录 保存在系统变量中,然后

cd $T就可以打开启动目录 了,这样好歹也比以前方便点 ,于是就开始动手了,后来发现可以直接用shell脚本 来执行cd,于是完整的打开当前目录就搞定了

下面是我的注册表(不想按shift的可以去年extended那行) 

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:\\cygwin\\Cygwin.bat %V"

修改Cygwin.bat如下:
@echo off
set _T=%*
C:
chdir C:\cygwin\bin

bash --login -i

 然后修改cygwin下.bash_profile执行cd命令

43 
44 export _T=${_T//\\//}   # replace backslash to fowardslash
45 if [[ $_T == "" ]]; then
46     export _T="c:/Users/Administrator"
47 fi
48 cd "$_T"

 

 这样右键菜单里就多了个Open Cygwin了,很爽啊,抛弃难用的cmd吧

0 0