Windows 7下用Cygwin设置IDL环境变量遇路径空格问题
我帮你搞定这个Cygwin识别带空格路径的坑——这绝对是Windows和类Unix环境交互时最常见的小麻烦之一!针对你设置IDL路径C:\Program Files\Exelis\IDL85时遇到的空格分隔问题,这里有几个实用的解决方案:
用引号包裹路径:不管是在Cygwin命令行里直接调用IDL,还是配置环境变量,把带空格的路径用双引号括起来就能避免空格被当成分隔符。比如在Cygwin里设置环境变量可以这么写:
export IDL_PATH="/cygdrive/c/Program Files/Exelis/IDL85"注意Cygwin里的路径格式是
/cygdrive/盘符/目录,把Windows的C:\换成/cygdrive/c/即可。使用Windows短路径(8.3格式):Windows会给带空格或长名称的目录分配一个短名称,比如
Program Files通常会被映射成PROGRA~1。你可以在Windows的命令提示符(cmd)里进入C盘根目录,执行dir /x命令查看这个短名称,之后路径就可以写成C:\PROGRA~1\Exelis\IDL85,Cygwin完全能识别这种无空格的短路径。创建Cygwin符号链接:给带空格的IDL目录创建一个无空格的软链接,之后用链接路径代替原路径,用起来更顺手。在Cygwin里执行:
ln -s "/cygdrive/c/Program Files/Exelis/IDL85" /cygdrive/c/IDL85之后你就可以用
/cygdrive/c/IDL85来访问IDL的安装目录,再也不用纠结空格问题了。修改Cygwin启动配置:如果想每次启动Cygwin都自动加载正确的IDL环境变量,可以编辑Cygwin用户目录下的
.bashrc或.bash_profile文件,把之前的export命令添加进去,保存后重启Cygwin就生效了。
内容的提问来源于stack exchange,提问作者redsox133

