Você precisa usar aspas se o caminho contiver caracteres de espaço:
FILE_NAME="/home/$USER/Downloads/My Folder"
Digamos que eu tenha o seguinte caminho:
/home/$USER/Downloads/My Folder
Tentei atribuir o caminho de arquivo fornecido acima a uma variável FILE_NAME
da seguinte maneira,
FILE_NAME=/home/$USER/Downloads/My Folder
$FILE_NAME
A saída foi:
bash: /home/$USER/Downloads/My :No such file or directory
Como resolver esse problema?
Você precisa usar aspas se o caminho contiver caracteres de espaço:
FILE_NAME="/home/$USER/Downloads/My Folder"
O problema é o espaço em branco incorporado no nome. A maneira mais simples de resolver esse problema é incluir a cadeia completa do caminho entre aspas (por exemplo, FILE_NAME="/home/${USER}/Downloads/My Folder"
O motivo para usar "
no seu caso é por causa do seu uso de $ USER, que requer uma substituição, com '
, isso não ocorreria.
Uma questão secundária é como você vai usar a variável. No seu exemplo ... eu diria que você deixou cair o cd do comando no entanto ... para usar a variável ... você provavelmente também deve usar "em torno de seu uso
então ... meu palpite no seu uso ... cd "$ FILE_NAME"