Мені потрібно шукати змінну 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інтерпретацією$персонажа.