Мені потрібно шукати змінну PHP $someVar
. Однак Греп вважає, що я намагаюся запустити регулярний вираз, і скаржиться:
$ grep -ir "Something Here" * | grep $someVar
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$ grep -ir "Something Here" * | grep "$someVar"
<<Here it returns all rows with "someVar", not only those with "$someVar">>
Я не бачу можливості сказати grep не інтерпретувати рядок як регулярний вираз, а включати $
як просто інший рядовий символ.
grep
інтерпретації$
як регулярний вираз. Мова йде про підстановку оболонки$someVar
значенням змінної середовищаsomeVar
, ймовірно, порожнім рядком. Другий приклад не повинен повертати всі рядки,someVar
але всі рядки, оскільки порожній рядок є у всіх рядках. Щоб сказати, щоб оболонка не підміняла, ви повинні використовувати'$someVar'
або\$someVar
. Тоді вам доведеться зайнятисяgrep
інтерпретацією$
персонажа.