Как передать параметр в команду Linux в конце строки

Как передать параметр в команду Linux в конце строки

Я хотел бы передать параметр в конце строки, когда даю команду в терминале.

Поэтому я хотел бы что-то вроде примера ниже

find /path/to/directory -type f -exec grep -irl "SEARCH_PATTERN" {} \;

что-то вроде такого формата:

find /path/to/directory -type f -exec grep -irl "$1" {} \; < "SEARCH_PATTERN"

и таким образом мне не придется каждый раз идти и менять команду в -irl "SEARCH_PATTERN"части. Вместо этого я просто дам ее более легко в конце строки.

заранее спасибо

решение1

Создайте функцию:

mygrep() { find /path -type f -exec grep -irl "$1" {} +; }

mygrep waldo

А вообще, зачем оно вам find?

mygrep() { grep -irl "$1" /path; }

решение2

Единственное, что мне сейчас приходит в голову, для этого конкретного случая — это создать переменную окружения SEARCH_PATTERN и проверять ее каждый раз, когда вы захотите ее использовать.

Быстрый пример;

$ SEARCH_PAT="abc"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;
$ SEARCH_PAT="xyz"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;

и т. д...

Связанный контент