Üç alıntı mekanizması vardır: kaçış karakteri , tek tırnak işareti ve çift tırnak işareti.
Alınmamış ters eğik çizgi ( \ ),
kaçış karakteridir . <newline> dışında bir sonraki karakterin değişmez değerini korur. Bir \ <newline> çifti görünürse ve ters eğik çizgi kendiliğinden alıntılanmazsa, \ <newline> bir satır devamı olarak değerlendirilir (yani, giriş akışından kaldırılır ve etkin bir şekilde yoksayılır).
Karakterleri tek tırnak işaretleri içine alma, tırnak içindeki her karakterin gerçek değerini korur. Önceden ters eğik çizgiden önce olsa bile, tek tırnaklar arasında tek bir teklif oluşmayabilir.
Karakterleri çift tırnak işareti içine almak, $ , ` , \ ve tırnak işareti genişletme işlevi etkinken, tırnak işaretleri içindeki tüm karakterlerin değişmez değerini korur ! . $ Ve ` karakterleri özel anlamlarını çift tırnak içinde tutar. Ters eğik çizgi yalnızca özel karakterini yalnızca aşağıdaki karakterlerden biri tarafından takip edildiğinde korur: $ , ` , " ,
\ veya <newline> İkili tırnak içinde ters eğik çizgi ile çift tırnak işaretine alınabilir. olmadıkça gerçekleştirilecektir! çift tırnak şeklinde görünen bir ters eğik çizgi kullanılarak kaçtı. Önündeki ters eğik çizgi ! kaldırılmaz.
Özel parametreler * ve @ , çift tırnak içine alındığında özel bir anlama sahiptir (aşağıdaki PARAMETRELER'e bakın).
$ ' String ' formundaki kelimeler özel olarak değerlendirilir. Sözcük , ANSI C standardında belirtildiği şekilde ters eğik çizgi karakterleriyle değiştirilen dizeye genişler . Ters eğik çizgi kaçış dizileri, varsa, aşağıdaki gibi çözülür:
\ bir uyarı (zil)
\ b geri al
\ e
\ e bir kaçış karakteri
f \ form besleme
\ n yeni satır
\ R satır başı
\ t yatay sekme
\ V düşey sekme
\\ eğik çizgi
\' tek tırnak
\" çift tırnak
\ nnn Sekizlik karakter, nnn sekizlik değeri
(bir ila üç hane)
\ x HH , değeri sekiz bitlik bir karakter onaltılık değeridir HH
(bir veya iki altıgen rakam)
\ u hhhh değerdir Unicode (ISO / IEC 10646) karakteri
onaltılık değer HHHH (bir ila dört onaltılık basamak)
\ U HHHHHHHH
değeri Unicode (ISO / IEC 10646) karakteri
onaltılık değer HHHHHHHH (bir ila sekiz onaltılık basamak)
\ c x a control- x karakteri
Genişletilmiş sonuç, sanki dolar işareti yokmuşçasına, tek alıntı olarak verilir.
Dolar işaretinden ( $ " string " ) önce gelen çift tırnaklı bir dize , dizgenin geçerli yerel ayara göre çevrilmesine neden olur. Geçerli yerel ayar C veya POSIX ise, dolar işareti yoksayılır. Dize çevrilir ve değiştirilirse, değiştirme iki kez alıntılanır.
"$HOME"
veya parametreleri"${USER:-root}"
ya formda, komut"$(date)"
veya"`date`"
, aritmetik"$((1 + 2))"
, tarih genişlemesi"!!"
veya ters eğik çizgi kaçan"\\"
. Bunun yerine tek tırnak kullanın. Bash kılavuzunun man sayfasına bakınız, "Quoting" başlığı.