Có ba cơ chế trích dẫn: ký tự thoát , dấu ngoặc đơn và dấu ngoặc kép.
Dấu gạch chéo ngược không trích dẫn ( \ ) là
ký tự thoát . Nó bảo tồn giá trị theo nghĩa đen của ký tự tiếp theo, ngoại trừ <newline>. Nếu một cặp \ <newline> xuất hiện và dấu gạch chéo ngược không được trích dẫn, \ <newline> được coi là tiếp tục dòng (nghĩa là, nó bị xóa khỏi luồng đầu vào và bị bỏ qua một cách hiệu quả).
Các ký tự kèm theo trong dấu ngoặc đơn duy trì giá trị theo nghĩa đen của từng ký tự trong dấu ngoặc kép. Một trích dẫn có thể không xảy ra giữa các trích dẫn đơn, ngay cả khi trước dấu gạch chéo ngược.
Việc đóng dấu các ký tự trong dấu ngoặc kép sẽ giữ giá trị bằng chữ của tất cả các ký tự trong dấu ngoặc kép, ngoại trừ $ , ` , \ , và, khi mở rộng lịch sử được bật , ! . Các ký tự $ và ` giữ lại ý nghĩa đặc biệt của chúng trong dấu ngoặc kép. Dấu gạch chéo ngược chỉ giữ lại ý nghĩa đặc biệt của nó khi được theo sau bởi một trong các ký tự sau: $ , ` , " ,
\ hoặc <newline> . Một trích dẫn kép có thể được trích dẫn trong dấu ngoặc kép bằng cách đặt trước dấu gạch chéo ngược. sẽ được thực hiện trừ khi! xuất hiện trong dấu ngoặc kép được thoát bằng dấu gạch chéo ngược. Dấu gạch chéo ngược trước ! không được gỡ bỏ.
Các tham số đặc biệt * và @ có ý nghĩa đặc biệt khi ở dấu ngoặc kép (xem PARAMETERS bên dưới).
Các từ có dạng $ ' chuỗi ' được xử lý đặc biệt. Từ này mở rộng thành chuỗi , với các ký tự thoát dấu gạch chéo ngược được thay thế theo quy định của tiêu chuẩn ANSI C. Các chuỗi thoát dấu gạch chéo ngược, nếu có, được giải mã như sau:
\ a alert (chuông)
\ b Backspace
\ e
\ E một ký tự thoát
\ f thức ăn dạng
\ n dòng mới
\ r vận chuyển trở lại
\ t ngang tab
\ v dọc tab
\\ backslash
\' nháy đơn
\" tăng gấp đôi quote
\ nnn sự ký tự tám bit có giá trị là giá trị bát phân nnn
(một đến ba chữ số)
\ x HH ký tự tám bit có giá trị là giá trị thập lục phân HH
(một hoặc hai chữ số hex)
\ u HHHH ký tự Unicode (ISO / IEC 10646) có giá trị là
giá trị thập lục phân HHHH (một đến bốn chữ số hex)
\ U HHHHHHHH
ký tự Unicode (ISO / IEC 10646) có giá trị là
giá trị thập lục phân HHHHHHHH (một đến tám chữ số hex)
\ c x một ký tự control- x
Kết quả mở rộng được trích dẫn một lần, như thể ký hiệu đô la không có mặt.
Một chuỗi trích dẫn kép có trước ký hiệu đô la ( $ " chuỗi " ) sẽ khiến chuỗi được dịch theo ngôn ngữ hiện tại. Nếu miền địa phương hiện tại là C hoặc POSIX , ký hiệu đô la sẽ bị bỏ qua. Nếu chuỗi được dịch và thay thế, thay thế được trích dẫn kép.
"$HOME"
hoặc tham số mở rộng"${USER:-root}"
, thay thế lệnh dưới dạng"$(date)"
hoặc"`date`"
, mở rộng số học"$((1 + 2))"
, mở rộng lịch sử"!!"
hoặc thoát dấu gạch chéo ngược"\\"
. Sử dụng dấu ngoặc đơn thay thế. Xem trang hướng dẫn sử dụng bash, phần có tiêu đề "Trích dẫn".