
Допустим, у меня есть следующий путь:
/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"