Kabuk, komut yürütmeden önce komut satırını dönüştürebilir. Hem kabuk hem grepde bazı karakterlerin özel anlamlarını kaldırmak için tırnak işareti kullanabilirsiniz. Bununla birlikte, grepkabukları 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 grepve 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. grepHatalı 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, grepancak 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 .
bashdahil),!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).