![Mac 终端中作为命令参数的引用路径和非引用路径之间的区别](https://linux22.com/image/1394714/Mac%20%E7%BB%88%E7%AB%AF%E4%B8%AD%E4%BD%9C%E4%B8%BA%E5%91%BD%E4%BB%A4%E5%8F%82%E6%95%B0%E7%9A%84%E5%BC%95%E7%94%A8%E8%B7%AF%E5%BE%84%E5%92%8C%E9%9D%9E%E5%BC%95%E7%94%A8%E8%B7%AF%E5%BE%84%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB.png)
例如下面两个命令有什么区别:
sudo ln -s "/Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3" /usr/local/bin/python3
sudo ln -s /Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3 /usr/local/bin/python3
答案1
就你的情况而言,没有区别。当路径包含空格时,请使用引号括起来:
cd "/Applications/My Awesome Program.app/Contents/Resources"
或者,你可以使用如下命令来转义这些空格\
:
cd /Applications/My\ Awesome\ Program.app/Contents/Resources
但无论你做什么,不将转义与引号结合起来。
答案2
引号仅表示这是路径。如果路径中有空格,引号会将其视为一个字符串。如果路径中没有特殊字符,则不会产生任何影响。