我在 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”命令吗?
谢谢!
最佳答案
请注意您的路径中有 3 个空格 \Drive
、\Downloads/
和 \Reporting/
。为避免这种副作用,您始终需要将变量放在双引号中,如下所示:-
cd "$AVGPATH"
关于bash - CD $PATH : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49977515/