Como atribuir caminho de arquivo / pasta a uma variável no terminal

2

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?

    
por logamadi 14.03.2015 / 21:26

2 respostas

4

Você precisa usar aspas se o caminho contiver caracteres de espaço:

FILE_NAME="/home/$USER/Downloads/My Folder"
    
por Florian Diesch 14.03.2015 / 21:29
1

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"

    
por george Barbaz 14.03.2015 / 21:32