我正在尝试编写一个简单的脚本,如果输入的第一个参数等于 -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
我无法使用grep
GNU grep 以外的其他版本来测试它,但也有
grep -e -r
起到“掩蔽”作用-r
;这也可能适用于其他版本(与 相比--
)。