Różnica między cytowaną ścieżką a nie cytowaną jako argument polecenia w terminalu Mac

0

Na przykład, jaka jest różnica między dwoma następującymi poleceniami:

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
George
źródło

Odpowiedzi:

2

W twoim przypadku nie ma różnicy. Używaj cudzysłowów wokół ścieżki, gdy zawiera spacje:

cd "/Applications/My Awesome Program.app/Contents/Resources"

Alternatywnie możesz uciec z tych przestrzeni za pomocą \ w ten sposób:

cd /Applications/My\ Awesome\ Program.app/Contents/Resources

Ale cokolwiek zrobisz, nie łącz ucieczkę z cytatami.

MattDMo
źródło
2

Cytaty oznaczają tylko, że to jest ścieżka. Jeśli w ścieżce znajdują się spacje, cudzysłowy sprawiają, że traktuje ją jako jeden ciąg. Jeśli na ścieżce nie ma znaków specjalnych, nie ma to znaczenia.

Wasabi Fan
źródło