【问题标题】:Pb with PATH declare as an environment variable带有 PATH 的 Pb 声明为环境变量
【发布时间】:2011-07-07 17:02:22
【问题描述】:

这是我在这里的第一篇文章,所以让我在开始之前向 stackoverflow 社区问好!

这是我的问题:

  • 我想在 Cygwin 中将 PATH 声明为环境变量
  • 那么我希望能够在任何命令中使用这个变量
  • 当我在 PATH 中有空格字符时,困难就来了

这是我没有成功的尝试:

$ export MYPATH=/cygdrive/c/Program\ Files/Autodesk/Maya2011/
$ echo $MYPATH
$ /cygdrive/c/Program Files/Autodesk/Maya2011/
$ cd $MYPATH
$ bash: cd: /cydrive/c/Program: No such file or directory

所有这些不同的合成器都会出现同样的错误

$ export MYPATH="/cygdrive/c/Program Files/Autodesk/Maya2011/"

和这个一样

$ export MYPATH=$MYPATH"/cygdrive/c/Program Files/Autodesk/Maya2011/"

我没有更多的想法......所以如果你们能帮助我,那就太好了!

干杯

【问题讨论】:

    标签: namespaces cygwin environment-variables


    【解决方案1】:

    您需要在 $MYPATH 周围使用引号,就像在手动输入路径时使用 cd 时一样。

    cd "$MYPATH"
    

    等价于

    cd "/cygdrive/c/Program Files/Autodesk/Maya2011/"
    

    请注意,当您设置$MYPATH 时,空格的转义字符'\' 被删除,因此当$MYPATH 扩展为cd 时,空格不再被转义。另请注意,如果您也尝试转义转义字符,cygwin 也不喜欢它:

    export MYPATH=/cygdrive/c/Program\\\ Files/Autodesk/Maya2011/
    

    这实际上会扩展为

    /cygdrive/c/Program\ Files/Autodesk/Maya2011/
    

    但是 cygwin 会因为你试图使用 MS-DOS 风格的路径而对你大喊大叫。

    【讨论】:

    • 非常感谢戴夫!它完美无缺!而且你是对的,我也尝试了 \\\ 语法,但它不起作用!
    猜你喜欢
    • 2021-06-02
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2019-05-15
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    相关资源
    最近更新 更多