Ada tiga mekanisme penawaran: karakter melarikan diri , kutipan tunggal, dan kutipan ganda.
Garis miring terbalik ( \ ) adalah
karakter pelarian . Ini mempertahankan nilai literal dari karakter berikutnya yang mengikuti, dengan pengecualian <newline>. Jika pasangan \ <newline> muncul, dan garis miring terbalik tidak dikutip sendiri, \ <newline> diperlakukan sebagai kelanjutan garis (yaitu, ia dihapus dari aliran input dan diabaikan secara efektif).
Menutup karakter dalam tanda kutip tunggal mempertahankan nilai literal setiap karakter dalam tanda kutip. Kutipan tunggal mungkin tidak terjadi di antara tanda kutip tunggal, bahkan ketika didahului oleh garis miring terbalik.
Melampirkan karakter dalam tanda kutip ganda mempertahankan nilai literal dari semua karakter dalam tanda kutip, dengan pengecualian $ , ` , \ , dan, ketika ekspansi sejarah diaktifkan, ! . Karakter $ dan ` mempertahankan makna khusus mereka dalam tanda kutip ganda. Garis miring terbalik hanya memiliki makna khusus ketika diikuti oleh salah satu karakter berikut: $ , ` , " ,
\ , atau <newline> . Kutipan ganda dapat dikutip dalam tanda kutip ganda dengan mendahului dengan garis miring terbalik. Jika diaktifkan, ekspansi sejarah akan dilakukan kecuali! muncul dalam tanda kutip ganda diloloskan menggunakan backslash. Garis miring terbalik sebelum ! tidak dihapus.
Parameter khusus * dan @ memiliki arti khusus ketika dalam tanda kutip ganda (lihat PARAMETER di bawah).
Kata-kata dalam bentuk $ ' string ' diperlakukan secara khusus. Kata diperluas ke string , dengan karakter backslash-escaped diganti sebagaimana ditentukan oleh standar ANSI C. Urutan melarikan diri backslash, jika ada, diterjemahkan sebagai berikut:
\ a alert (bell)
\ b backspace
\ e
\ E karakter pelarian
\ f form feed
\ n baris baru
\ r carriage return
\ t tab horizontal
\ v tab vertikal
\ backslash
\ ' single quote
\ " double quote
\ nnn the karakter delapan bit yang nilainya adalah nilai oktal nnn
(satu hingga tiga digit)
\ x HH karakter delapan-bit yang nilainya adalah nilai heksadesimal HH
(satu atau dua digit hex)
\ u HHHH karakter Unicode (ISO / IEC 10646) yang nilainya
nilai heksadesimal HHHH (satu hingga empat digit hex)
\ U HHHHHHHH
karakter Unicode (ISO / IEC 10646) yang nilainya
nilai heksadesimal HHHHHHHH (1-8 hex digit)
\ c x sebuah kontrol- x karakter
Hasil diperluas dikutip tunggal, seolah-olah tanda dolar tidak ada.
String yang dikutip ganda didahului oleh tanda dolar ( $ " string " ) akan menyebabkan string diterjemahkan sesuai dengan lokal saat ini. Jika lokal saat ini adalah C atau POSIX , tanda dolar diabaikan. Jika string diterjemahkan dan diganti, penggantiannya dikutip ganda.
"$HOME"
atau parameter yang berkembang"${USER:-root}"
, substitusi perintah dalam bentuk apa pun ,"$(date)"
atau"`date`"
ekspansi aritmatika"$((1 + 2))"
, ekspansi sejarah,"!!"
atau pelarian backslash"\\"
. Gunakan tanda kutip tunggal sebagai gantinya. Lihat halaman manual manual bash, bagian berjudul "Mengutip".