小编Pan*_*mou的帖子

grep 命令在我的脚本中不接受带有多个选项的字符串

我正在编写一个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 命令?甚至有可能做到这一点吗?

linux bash shell grep

1
推荐指数
1
解决办法
69
查看次数

标签 统计

bash ×1

grep ×1

linux ×1

shell ×1