Como atribuir o caminho do arquivo/pasta a uma variável no Terminal

Como atribuir o caminho do arquivo/pasta a uma variável no Terminal

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_NAMEda 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"

informação relacionada