特定の入力時にBashスクリプトがハングする

特定の入力時にBashスクリプトがハングする

入力した最初の引数が-r文字列と等しい場合は、操作を実行する単純なスクリプトを作成しようとしています。ただし、このファイルを実行しようとするたびにプログラムが中断され、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

私は過去6時間でこの問題に閉じ込められていましたが、構文的に正しいと思われるので、何が問題なのかわかりません。助けてください、

ありがとう

答え1

grepGNU grep以外のバージョンではテストできませんでしたが、

grep -e -r

「マスカ」として機能します-r。これは他のバージョンにも適用できます(と比較--)。

関連情報