특정 입력 시 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. 이는 다른 버전에도 적용될 수 있습니다( 와 비교 --).

관련 정보