我正在macOS(Sierra)上运行bash。我正在设置以下$AVGPATH环境变量:
mpdelps-MacBook-Pro:~ mdelp$ pwd
/Users/mdelp
mpdelps-MacBook-Pro:~ mdelp$ AVGPATH="/Users/mdelp/Google\ Drive/Cloud\ Downloads/Avantgardist/ADGM\ Reporting/dev"
mpdelps-MacBook-Pro:~ mdelp$ echo $AVGPATH
/Users/mdelp/Google\ Drive/Cloud\ Downloads/Avantgardist/ADGM\ Reporting/dev
mpdelps-MacBook-Pro:dev mdelp$
现在,当我尝试使用该变量运行一个简单的“cd”命令时,终端会显示以下错误:
mpdelps-MacBook-Pro:~ mdelp$ cd $AVGPATH
-bash: cd: /Users/mdelp/Google\: No such file or directory
mpdelps-MacBook-Pro:dev mdelp$
然而,当我仅仅复制并粘贴 $AVGPATH 变量的值时,命令便能够正常执行:
mpdelps-MacBook-Pro:~ mdelp$ cd /Users/mdelp/Google\ Drive/Cloud\ Downloads/Avantgardist/ADGM\ Reporting/dev
mpdelps-MacBook-Pro:dev mdelp$ pwd
/Users/mdelp/Google Drive/Cloud Downloads/Avantgardist/ADGM Reporting/dev
mpdelps-MacBook-Pro:dev mdelp$
我在这里考虑了很久。能否有人解释一下shell如何将$AVGPATH变量的值呈现给'cd'命令?
谢谢!
AVGPATH="/Users/mdelp/Google Drive/..."
) 或者 反斜杠 (AVGPATH=/Users/mdelp/Google\ Drive/...
),但不要同时使用两种方式。 - chepner