Как назначить путь к файлу/папке переменной в терминале

Как назначить путь к файлу/папке переменной в терминале

Допустим, у меня есть следующий путь:

/home/$USER/Downloads/My Folder

Я попытался присвоить указанный выше путь к файлу переменной FILE_NAMEследующим образом:

FILE_NAME=/home/$USER/Downloads/My Folder
$FILE_NAME

Результат был следующим:

bash: /home/$USER/Downloads/My :No such file or directory

Как решить эту проблему?

решение1

Если путь содержит пробелы, необходимо использовать кавычки:

FILE_NAME="/home/$USER/Downloads/My Folder"

решение2

Проблема во встроенном пробеле в имени. Самый простой способ решить эту проблему — заключить полную строку пути в кавычки (т. е. FILE_NAME="/home/${USER}/Downloads/My Folder"
Причина использования "в вашем случае заключается в использовании вами $USER, который требует замены, с 'этим бы не произошло.

Второстепенный вопрос: как вы собираетесь использовать переменную? В вашем примере... Я бы предположил, что вы исключили cd из команды, однако... чтобы использовать переменную... вам, вероятно, следует также использовать " вокруг ее использования

так что... я думаю, вы используете ... cd "$FILE_NAME"

Связанный контент