Існує три механізми цитування: символ втечі , одиничні лапки та подвійні лапки.
Зворотний проріз, який не котирується ( \ ), є
символом втечі . Він зберігає буквальне значення наступного символу, що випливає, за винятком <newline>. Якщо з'являється пара \ <newline>, а зворотна косої риски не є самою цитованою, \ <newline> трактується як продовження рядка (тобто він видаляється з вхідного потоку та фактично ігнорується).
Замикання символів в одиничних лапках зберігає буквальне значення кожного символу в лапках. Одиночна цитата може не виникати між окремими котируваннями, навіть коли передує зворотна косою рисою.
Замикання символів у подвійних лапках зберігає буквальне значення всіх символів у лапках, за винятком $ , ` , \ та, коли розширення історії включено ! . Символи $ і ` зберігають своє особливе значення в подвійних лапках. Зворотна косої риси зберігає своє особливе значення лише тоді, коли за нею слідує один із наступних символів: $ , ` , " ,
\ або <newline> . Подвійна котировка може бути цитована у подвійних лапках, попередньо її із зворотною косою рисою. Якщо це ввімкнено, розширення історії буде виконуватися, якщо не! З'явлення подвійних лапок уникне за допомогою зворотної косої риски. Нахил, що передує ! не видаляється.
Спеціальні параметри * і @ мають особливе значення у подвійних лапках (див. ПАРАМЕТРИ нижче).
Слова форми $ ' string " обробляються спеціально. Слово розширюється до рядка , а символи , що ухиляються від косої риски, замінюються відповідно до стандарту ANSI C. Послідовності втечі зворотного схилу, якщо вони є, декодуються наступним чином:
\ А оповіщення (дзвінок)
\ ред забій
\ е
\ Е маскуючою
\ F виду корму
\ N нового рядка
\ г повернення каретки
\ т горизонтальна вкладка
\ v вертикальна табуляція
\\ зворотна коса
\ " апостроф
\" подвійні лапки
\ NNN восьми бітний символ, значення якого - вісімкове значення nnn
(одна-три цифри)
\ x HH восьмирозрядний символ, значення якого - шістнадцяткове значення HH
(одна або дві шістнадцяткові цифри)
\ u HHHH символом Unicode (ISO / IEC 10646), значення якого
шістнадцяткове значення HHHH (одна-чотири шістнадцяткові цифри)
\ U HHHHHHHH
символ Unicode (ISO / IEC 10646), значення якого
шістнадцяткове значення HHHHHHHH (одна-вісім шістнадцяткових цифр)
\ c x контрольний x символ
Розширений результат одноцитований, як ніби знак долара не був.
Рядок з подвійним котируванням, який передує знаку долара ( $ " string " ), призведе до перекладу рядка відповідно до поточного локалу. Якщо поточний локал - C або POSIX , знак долара ігнорується. Якщо рядок переведено і замінено, заміна подвійно цитується.
"$HOME"
чи параметри"${USER:-root}"
, підстановку команд у будь-якій формі"$(date)"
або"`date`"
, арифметичне розширення"$((1 + 2))"
, розширення історії"!!"
чи зворотній косої риски"\\"
. Використовуйте замість них одиничні лапки. Див. Man-сторінку посібника з bash, розділ під назвою "Цитування".