Существует три механизма цитирования: escape-символ, одинарные и двойные кавычки.
Обратная косая черта без кавычек (\) является escape-символом. Он сохраняет буквальное значение следующего символа, за исключением <newline>. Если появляется пара \ <newline> и обратная косая черта сама по себе не заключена в кавычки, \ <newline> рассматривается как продолжение строки (то есть она удаляется из входного потока и фактически игнорируется).
Заключение символов в одинарные кавычки сохраняет буквальное значение каждого символа в кавычках. Одиночная кавычка может отсутствовать между одинарными кавычками, даже если ей предшествует обратная косая черта.
Заключение символов в двойные кавычки сохраняет буквальное значение всех символов в кавычках, за исключением $, `, \ и, когда расширение истории включено ,!, Символы $ и ` сохраняют свое особое значение в двойных кавычках.
Обратная косая черта сохраняет свое специальное значение только тогда, когда за ней следует один из следующих символов: $, `, ", \ или <newline>. Двойная кавычка может быть заключена в двойные кавычки, если им предшествует обратная косая черта. Если включено, расширение истории будет выполняться, если только ! в двойных кавычках экранируется с помощью обратной косой черты. Обратная косая черта предшествует ! не удаляется.
Специальные параметры * и @ имеют особое значение в двойных кавычках (см. ПАРАМЕТРЫ ниже).
Слова вида $ ' string ' обрабатываются специально. Слово расширяется до строки, символы с обратной косой чертой заменяются в соответствии со стандартом ANSI C. Escape-последовательности с обратной косой чертой, если они есть, декодируются следующим образом:
\ а оповещения (звонок) \ Ъ забой \ е \ Е маскирующим \ F форма подачи \ п новой строки \ возврата каретки г \ т горизонтальная табуляция \ v вертикальная табуляция \\ обратная косая \»апостроф \» двойные кавычки \ NNN восьмибитный символ, значение которого является восьмеричным значением nnn (от одной до трех цифр) \ x HH восьмибитный символ, значение которого является шестнадцатеричным значением HH (одна или две шестнадцатеричные цифры) \ u HHHH Unicode (ISO/IEC 10646) символ, значение которого шестнадцатеричное значение HHHH (от одного до четырех шестнадцатеричных цифр) \ U HHHHHHHH (10646 ИСО / МЭК) символ Юникода, значение которого шестнадцатеричное значение HHHHHHHH (от одного до восьми шестнадцатеричных цифр) \ с X A управления- х символов
Расширенный результат заключен в одинарные кавычки, как если бы знак доллара отсутствовал.
Строка в двойных кавычках, перед которой стоит знак доллара ($ " string "), приведет к переводу строки в соответствии с текущей локалью. Если текущим языковым стандартом является C или POSIX, знак доллара игнорируется. Если строка переведена и заменена, замена заменяется двойными кавычками.