В разделе 3.1.2.3 под названием Двойные кавычки руководство Bash гласит:
Заключение символов в двойные кавычки ('"') сохраняет буквальное значение всех символов в кавычках, за исключением '$', '`', '\' и, когда расширение истории включено, '!'.
На данный момент меня интересует одиночная кавычка ( ').
Это особое значение, описанное в предыдущем разделе, раздел 3.1.2.2:
Заключение символов в одинарные кавычки (
') сохраняет буквальное значение каждого символа в кавычках. Одиночная кавычка может отсутствовать между одинарными кавычками, даже если ей предшествует обратная косая черта.
Объединяя две экспозиции,
echo "'$a'"
где переменная aне определена (следовательно, $a= пустая строка), должна печататься $aна экране, так как '', имея особое значение внутри, защитит $от специальной интерпретации. Вместо этого это печатает ''. Почему так?
’, ‘\’, and, when history expansion is enabled, ‘!’." in the manual. But now reading it again I realized the second character is not single quote, ("'") but tilde ("»). I'