Saya perlu mencari variabel PHP $someVar
. Namun, Grep berpikir bahwa saya mencoba menjalankan regex dan mengeluh:
$ 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">>
Saya tidak melihat opsi untuk memberi tahu grep agar tidak menafsirkan string sebagai regex, tetapi menyertakan $
hanya sebagai karakter string lain.
grep
menafsirkan$
sebagai regex. Ini tentang shell yang menggantikan$someVar
nilai variabel lingkungansomeVar
, kemungkinan string kosong. Contoh kedua seharusnya tidak mengembalikan semua baris dengansomeVar
tetapi semua baris, karena string kosong ada di semua baris. Untuk memberi tahu cangkang agar tidak menggantikan, Anda harus menggunakan'$someVar'
atau\$someVar
. Kemudian Anda harus berurusan dengangrep
interpretasi$
karakter.