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

Скажем, у меня есть следующий путь:

/home/$USER/Downloads/My Folder

Я попытался присвоить вышеупомянутый File-Path переменной FILE_NAME следующее,

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

Выход был:

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

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

2 ответа

Решение

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

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

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

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

так что... мое предположение при вашем использовании... cd "$FILE_NAME"

Другие вопросы по тегам