4.3. Cygwin使用技巧总结

下面介绍一些Cygwin中相关的小技巧:

4.3.1. Windows下,添加右键打开Cygwin

打开注册表(regedit)并定位到

HKEY_CLASSES_ROOT\Directory\shell

[注意] 关于注册表regedit

不熟悉windows注册表regedit的,请去看

Windows的注册表编辑器: regedit

然后右击shell->新建->项,然后名字随便起,比如RunCygwin

在其下再新建一项,叫做command,表示要执行的命令,command下会有一个图标是ab字样的键值,名称是(默认),类型是REG_SZ,

双击其会弹出一个"修改字符串"的窗口,修改数据数值为:

D:\tmp\tmp_dev_root\cgwin\bin\bash -login -c "cd '%1'; exec bash -rcfile ~/.bashrc"

其中

D:\tmp\tmp_dev_root\cgwin\

是我此处Cygwin安装路径下的bash的位置,其下会存在bash工具:bin\bash

然后就可以进入任何目录,右键点击,就会看到对应的可选项,此处是RunCygwin

点击即可进入cygwin了:

关于更多的相关的解释,请参考:【整理】在windows下添加右键使得可以运行cygwin且直接定位到当前文件夹 + 【整理】如何在Windows XP中,右键添加命令行cmd command,打开当前文件夹,定位到当前路径

4.3.2. 修改Cygwin的默认启动路径

原先启动Cygwin,其默认路径是当前用户的Home文件夹:

CLi@PC-CLI-1 ~
$ pwd
/home/CLi
        

而Cygwin默认启动路径,就是由环境变量HOME的值决定的。

因此,此处就是要去改变对应的环境变量HOME的值。

此处,先去看看原先HOME的值是多少,有两种方法:

  • 可以在cygwin下输入env查看当前所有的环境变量:

    CLi@PC-CLI-1 ~
    $ env
    HOMEPATH=\Users\CLi
    ...
    SHELL=/bin/bash
    TERM=xterm
    ...
    CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
    OS=Windows_NT
    ...
    HOME=/home/CLi
    ...
                    

    其中就可以看到,此处的HOME值为/home/CLi

  • 直接通过echo一个环境变量,得知该环境变量的值:

    CLi@PC-CLI-1 ~
    $ echo $HOME
    /home/CLi
                    

而想要改变HOME的值,也有两种方法:

  • 去windows中建立一个HOME的环境变量,将值设置为自己想要的值

    而关于如何添加Windows的环境变量,不熟悉的人,请参考

    windows中新建一个环境变量

  • 通过export去修改环境变量:

    CLi@PC-CLI-1 ~
    $ echo $HOME
    /home/CLi
    
    CLi@PC-CLI-1 ~
    $ export HOME=/home/CLi/develop
    
    CLi@PC-CLI-1 /home/CLi
    $ echo $HOME
    /home/CLi/develop
                    

    即可把HOME从/home/CLi改为/home/CLi/develop

    [注意] 注意
    此处通过export的方式改变的值,只是当前(会话/窗口)有效,关闭了窗口后,就失效了,所以下次重启后,还是无法达到修改的效果

4.3.3. 切换当前路径到别的磁盘,比如C盘,D盘等

Cygwin下,从当前路径切换到Windows中别的磁盘,比如C盘,之前的做法,是通过cygdrive:

CLi@PC-CLI-1 /cygdrive/c
$ pwd
/cygdrive/c

CLi@PC-CLI-1 /cygdrive/c
$ cd /cygdrive/d

CLi@PC-CLI-1 /cygdrive/d
$ pwd
/cygdrive/d
        

现在刚看到[1],才知道也可以直接通过C:的形式去切换到C盘了:

CLi@PC-CLI-1 /home/CLi
$ pwd
/home/CLi

CLi@PC-CLI-1 /home/CLi
$ cd C:

CLi@PC-CLI-1 /cygdrive/c
$ pwd
/cygdrive/c