Bash:无法从脚本向 grep 传递参数

Bash:无法从脚本向 grep 传递参数

尝试学习一些 bash 脚本,结果我经常使用“grep --color -r -n -i SEARCH .”命令,所以我想我应该编写一个脚本。问题是我似乎无法正确地将搜索词传递给 grep。

当我仅传递一个术语时,我设法让它工作,这样如果我输入“search qwerty”,它将执行“grep --color -r -n -i qwerty .”,但如果我传递多个术语,我无法让它工作。我通常会使用“grep --color -r -n -i 'qwe rty' .”来执行此操作,但是当我尝试这样做时,它会在 rty 中搜索“qwe”。

我不确定我是否解释了这一点,所以我将发布脚本的相关部分 xD

SEARCH="$*"
grep --color -r -n -i ${SEARCH} $PWD

我已尝试使用 SEARCH="'$*'"(它完全停止工作)和 grep --color -r -n -i \'${SEARCH}\' $PWD 搜索“qwe in rty”,但这显然不是我想要的。

希望这一切都有意义^.^

答案1

尝试这个:

grep --color -r -n -i "${SEARCH}" $PWD

它将搜索“qwer rty”,而不是“qwe”或“rty”

相关内容