Я пишу сценарий оболочки (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"
allParameters: это строка, в которой я конкатанирую все опции "--color -n"
arguments [counter]: текущий аргумент, для которого мне нужно использовать grep, например, "echo"
file: это файл, который я хочу найти
Вывод: grep: нераспознанная опция '--color -n' Использование: grep [ОПЦИЯ] ... ШАБЛОН [ФАЙЛ] ...
Примечание: Для одного варианта он работает нормально
Нужно ли снова разбивать строку? если да, то как можно поместить их все в одну строку, чтобы использовать команду grep? Можно ли вообще это сделать?