我在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'命令?
谢谢!
答案 0 :(得分:1)
请注意,您的路径\ Drive
,\ Downloads/
和\ Reporting/
中有3个空格。为避免这种副作用,您总是需要将变量放在双引号中,如下所示: -
cd "$AVGPATH"