redireciona a saída do comando para variável (script bash)

2

se alguém poderia lançar alguma luz eu recebo este erro quando eu inclua esta linha no meu script

find -name "$name" | wc -l >> $num 

mensagem de erro $ num: redirecionamento ambíguo?

    
por user210382 14.01.2017 / 04:41

1 resposta

6

A sintaxe

find -name "$name" | wc -l >> $num 

tenta redirecionar a saída do pipeline para um arquivo cujo nome está contido na variável $num . O erro provavelmente é porque $num está vazio, deixando um operador de redirecionamento pendente >>

Você não pode redirecionar a saída do comando para uma variável em bash ; no entanto, você pode atribuir a saída de um comando a uma variável usando substituição de comando

num=$(find -name "$name" | wc -l)

Observe que a contagem de linhas de saída de find não é uma maneira robusta de avaliar o número de arquivos correspondentes.

    
por 14.01.2017 / 04:51