Tôi cần tìm kiếm một biến PHP $someVar
. Tuy nhiên, Grep nghĩ rằng tôi đang cố chạy một regex và phàn nàn:
$ 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">>
Tôi không thấy tùy chọn để yêu cầu grep không giải thích chuỗi dưới dạng regex, mà chỉ bao gồm $
một ký tự chuỗi khác.
grep
diễn giải$
như một regex. Đó là về việc thay thế shell bằng$someVar
giá trị của biến môi trườngsomeVar
, có thể là chuỗi rỗng. Ví dụ thứ hai không nên trả về tất cả các hàngsomeVar
trừ tất cả các dòng, bởi vì chuỗi trống nằm trong tất cả các dòng. Để nói với vỏ không thay thế, bạn phải sử dụng'$someVar'
hoặc\$someVar
. Sau đó, bạn sẽ phải đối phó với việcgrep
giải thích$
nhân vật.