Você precisa colocar "" em torno de sua variável.
find . -name "$tmpfl"
Eu tenho procurado por um arquivo que contém um padrão específico. O padrão é em si uma variável tmpfl
echo $tmpfl --> ack_2*
Agora, para encontrar o arquivo no diretório de trabalho atual que estou tentando usar
find . -name $tmpfl
find . -name ($tmpfl)
mas nenhum deles parece funcionar. Embora
find . -name ack_2*
funciona como um encanto.
O que há de errado na abordagem? É simples substituição de variáveis no Unix, certo? Então, o que estou perdendo?
Descobri que há certas situações (além de espaços em branco ou caracteres não imprimíveis) que exigem aspas duplas em torno do parâmetro -name
, independentemente de o parâmetro ser uma variável ou um valor codificado. É sempre bom ter o hábito de usá-los.
Tags find