Bir PHP değişkeni aramam gerekiyor $someVar
. Ancak Grep bir normal ifade çalıştırmaya çalıştığımı düşünüyor ve şikayet ediyor:
$ 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">>
Ben grep söylediği için bir seçenek görmüyorum değil bir regex olarak dize yorumlamak, ancak dahil etmek $
sadece başka bir dize karakter olarak.
grep
yorumlamakla ilgili değil$
. Bu, kabuğun$someVar
ortam değişkeninin değeriylesomeVar
, muhtemelen boş dizeyle değiştirilmesiyle ilgilidir. İkinci örnek, tüm satırları içeren tüm satırları döndürmemelidirsomeVar
, çünkü boş dize tüm satırlardadır. Kabuğun yerine geçmemesini söylemek için'$someVar'
veya kullanmanız gerekir\$someVar
. O zaman karakteringrep
yorumuyla uğraşmanız gerekecek$
.