Kabuk, komut yürütmeden önce komut satırını dönüştürebilir. Hem kabuk hem grep
de bazı karakterlerin özel anlamlarını kaldırmak için tırnak işareti kullanabilirsiniz. Bununla birlikte, grep
kabukları farklı özel karakterlere sahiptir. Ayrıca, mevcut bir genişlemeden kaynaklanmayan çıkmamış özel karakterler, komut yürütmeden önce kabuk tarafından kaldırılır.
echo '[]' | grep '[]'
Kabuk argüman iletir []
için grep
ve bir bozuk biçimli dirsek ifadesi olarak ayrıştırılır grep
.
echo '[]' | grep \[]
Yukarıda, benzer bir dava görebiliriz. Ters eğik çizgi kaldırılır ve []
bağımsız değişken olarak iletilir grep
. grep
Hatalı biçimlendirilmiş bir braket ifadesini tanır.
echo '[]' | grep '\[]'
Son olarak, bu durumda, tırnaklar kabuk tarafından çıkarılır ve \[]
argüman olarak iletilir, grep
ancak bu özel durumda ¹, değişmez bir parantez olarak \[
yorumlanır grep
. Ters eğik çizginin kabuk tarafından özel bir karakter olarak yorumlanmasını önlemek için tırnaklara ihtiyaç vardır.
IX POSIX özelliği .
bash
dahil),!
hala çift tırnak işaretleri halinde genişletilir, sadece tek tırnak işaretleri genişlemesini durduracaktır (veya kabuk seçeneğini devre dışı bırakır).