Исходный файл в .zshr c не находит файл - PullRequest
0 голосов
/ 08 апреля 2020

Я использую zsh на Каталине, и у меня есть некоторые проблемы с поиском (не знаю, если это правильный термин) файла в моем файле .zshr c, который имеет пробел в пути. По сути, я пытаюсь добиться того, чтобы мои личные настройки zsh были в iCloud, чтобы он синхронизировался между всеми моими компьютерами. В пути к моему каталогу iCloud есть пробелы, которые я не могу изменить.

~/Library/Mobile Documents/com~apple~CloudDocs/

Экранирование пространства wihte не работает, когда я его пробую.

file='~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh'
source $file

Результаты в:

.zshrc:source:29: no such file or directory: ~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh

Это прекрасно работает, когда я вручную:

source ~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh

Есть идеи, как решить эту проблему, или я вернусь, чтобы вручную загрузить мои файлы?

1 Ответ

0 голосов
/ 09 апреля 2020

Кавычки разрушают ваш день, и выделенное пространство также не имеет особого смысла, потому что вы все равно цитируете весь материал:

file='~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh'

Это означает, что вам нужен каталог с именем ~.

Вы можете написать его как

file=~/Library/Mobile\ Documents/com~apple~CloudDocs/file.sh

, который заменит тильду вашим домашним каталогом. Я лично использовал бы двойные кавычки и написал бы это как:

file="$HOME/Library/Mobile Documents/com~apple~CloudDocs/file.sh"
...