我正在编写一个shell 脚本(bash),它接受多个参数并对每个参数使用 grep 命令。
例如: “./script.sh name1 name2 file.txt”命令grep将被调用两次“ grep name1 file.txt”和“ grep name2 file.txt”。
问题是当我提供多个选项(例如“--color -n”)时,我将它们连接成一个字符串并将它们传递给 grep ,如下所示:
grep "$allParameters" "${arguments[counter]}" "$file"
Run Code Online (Sandbox Code Playgroud)
allParameters:是我连接所有选项的字符串“--color -n”
参数[计数器]:是我必须在例如“echo”上使用grep的当前参数
文件:是我要搜索的文件
输出为: grep: unrecognized option '--color -n' 用法:grep [OPTION]... PATTERN [FILE]...
注意:对于单个选项它工作正常
我是否必须再次拆分字符串?如果是,如何将它们全部放在一行中以使用 grep 命令?甚至有可能做到这一点吗?