cp: não pode stat '/ some / path / *': Nenhum arquivo ou diretório

3

Meu código de script é:

var="/some/path"
cp "$var*" "/another/path"

Então lança:

cp: cannot stat '/some/path/*': No such file or directory

Eu tentei isso e recebi o mesmo erro:

cp "${var}*" "/another/path"

Por fim, resolvi esse problema por:

cp "$var"* "/another/path"

Desta vez, o comando é executado com sucesso, mas eu gostaria de saber por quê.

Você poderia dar uma explicação?

    
por syxbyi 28.07.2017 / 16:06

1 resposta

7

Quando você usa "$var*" , a saída será /some/path* , em que * é considerado como um caractere (não é um caractere lógico, pois está entre aspas duplas). Portanto, no seu caso ( /some/path/* ), cp está procurando por um arquivo / pasta chamado * dentro do diretório path .

Quando está fora, as aspas duplas são consideradas como um caractere lógico, significando qualquer coisa que comece com path ( path1 , path2 etc).
Ou se path/* (qualquer coisa que esteja nesse diretório).

    
por 28.07.2017 / 16:51