
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?
Responder1
Você deve usar aspas se o caminho contiver caracteres de espaço:
FILE_NAME="/home/$USER/Downloads/My Folder"
Responder2
O problema é o espaço em branco incorporado no nome. A maneira mais simples de resolver esse problema é colocar a string do caminho completo entre aspas (ou seja, FILE_NAME="/home/${USER}/Downloads/My Folder"
o motivo de usar "
no seu caso é o 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ê eliminou o cd do comando... para usar a variável... você provavelmente também deveria usar " em torno de seu uso
então... meu palpite sobre seu uso... cd "$FILE_NAME"