O script Bash trava na entrada específica

0

Eu estou tentando escrever um script simples que faz alguma coisa se o primeiro parâmetro da entrada for igual a -r. Mas sempre que tento executar este arquivo, o programa trava e eu tenho que terminar usando ctrl-Z.

if [ "$1" == "-r" ]; then
 echo "check okay";
 for f in $(find . -maxdepth 1 -type f \( -name "*.h" -o -name "*.rb" \)); do
     if grep -q "$1" "$f"; then
         sed -i -E "s/${1}/${2}/g" $f;
         echo $f;
     fi
 done
 exit 1
fi

Eu tenho estado preso nisso pelas últimas 6 horas, parece sintaticamente correto, então não consigo descobrir qual é o problema. Por favor ajude,

Obrigado

    
por KLMM 23.01.2016 / 01:36

1 resposta

1

Eu não pude testá-lo com outras versões grep do que com o GNU grep mas também

grep -e -r

funciona como "mascaramento" -r ; que pode funcionar com outras versões também (em contraste com -- ).

    
por 23.01.2016 / 02:53