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.
grepmenafsirkan$sebagai regex. Ini tentang shell yang menggantikan$someVarnilai variabel lingkungansomeVar, kemungkinan string kosong. Contoh kedua seharusnya tidak mengembalikan semua baris dengansomeVartetapi 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 dengangrepinterpretasi$karakter.