Grep não está funcionando dentro do script

-1

Estou tentando escrever um script que usa uma string e depois procura todas as instâncias dessa string em um arquivo. Quando executo o comando fora do script ele roda perfeitamente mas se eu tentar rodar ele no script é dito que o arquivo não existe. Aqui está o meu código

    if [ "$#" -eq 0 ]; then
          echo "Please enter an argument"
    else
          $result='grep $1 Sales.csv'
          echo $result
    fi

E sim, o arquivo é chamado Sales.csv. Eu teria pensado que era algo a ver com o formato do arquivo, mas o comando funciona fora do script, e é por isso que estou confuso

Edit: Deveria ter mencionado que estou executando o linux do virtualBox

    
por Hugh O'Brien 10.11.2017 / 18:59

1 resposta

3

Ao atribuir uma variável, basta colocar o que quiser como variável menos o $ . Colocar o $ na frente da variável faz com que seja a saída da variável. Como a variável não está definida no script, a linha deve estar:

result=$(grep $1 /some/path/to/Sales.csv)

Em seguida, chama a variável como:

echo $result

Espero que isso ajude!

    
por Terrance 10.11.2017 / 19:09