我可以在 bash 脚本中使用命令和文件名将字符串发送到 grep 吗?
Can I send a string to grep with commands and file names in a bash script?
是否可以从命令行发送数组变量,
(其中 argsGrep="$@"
和命令行输入的范围是 -i Something)到 grep 命令
例如
result=$(grep $argsGrep ./file)
当 $argsGrep
只有要搜索的词时,它工作得很好,但是当它包含的内容比文本多并且有 grep 命令时,我无法让它工作。
Don't use the intermediate string. It will just break things.
只需在您需要的地方展开 "$@"
。
如果出于某种原因必须保存"$@"
的内容,那么您必须使用另一个数组。
argsarr=("$@")
result=$(grep "${argsarr[@]}" ./file)
是否可以从命令行发送数组变量,
(其中 argsGrep="$@"
和命令行输入的范围是 -i Something)到 grep 命令
例如
result=$(grep $argsGrep ./file)
当 $argsGrep
只有要搜索的词时,它工作得很好,但是当它包含的内容比文本多并且有 grep 命令时,我无法让它工作。
Don't use the intermediate string. It will just break things.
只需在您需要的地方展开 "$@"
。
如果出于某种原因必须保存"$@"
的内容,那么您必须使用另一个数组。
argsarr=("$@")
result=$(grep "${argsarr[@]}" ./file)