Я пытаюсь понять, почему Bash удаляет двойные кавычки (но не одинарные кавычки) при выполнении расширения переменной с помощью ${parameter:+word}
(Использовать альтернативное значение) в документе здесь, например:
% var=1
% cat <<EOF
> ${var:+"Hi there"}
> ${var:+'Bye'}
> EOF
Hi there
'Bye'
В соответствии с руководством слово "слово" после :+
обрабатывается с расширением тильды, расширением параметров, подстановкой команд и арифметическим расширением. Ничто из этого не должно ничего делать.
Что мне не хватает? Как можно получить двойные кавычки в расширении?