Из инструкции:
$ man printf
...
printf FORMAT [ARGUMENT]...
...
FORMAT controls the output as in C printf. Interpreted sequences are:
Здесь перечислены несколько интерпретируемых последовательностей. Ниже приведены те, где сам персонаж должен быть экранирован.
\" double quote
\\ backslash
%% a single %
Я проверил эти три в bash
, и они вели себя так, как ожидалось. Согласно man bash
, эта реализация printf
использует «стандартные спецификации формата printf (1 )», как указано выше, в дополнение к некоторым другим, которые здесь не имеют значения.
Однако другие оболочки, такие как zsh
, реализуют printf
несколько иначе. Здесь не следует экранировать двойную кавычку.
$ printf '"'
"
$ printf '\"'
\"