Я пытаюсь населить названную переменную раковины $recipient
, который должен содержать стоимость, сопровождаемую новой строкой.
$ set -x # force bash to show commands as it executes them
Я начинаю, населяя $user
, который является стоимостью, что я хочу сопровождаться новой строкой.
$ [email protected]
+ [email protected]
Я тогда звоню $user эха
в дважды указанной замене команды. эхо
заявление должно создать новую строку после $user
, и двойные кавычки должны сохранить новую строку.
$ recipient="$(echo $user)"
++ echo [email protected]
+ [email protected]
Однако, когда я печатаю $recipient
, я вижу, что от новой строки отказались.
$ echo "'recipient'"
+ echo ''\''recipient'\'''
'recipient'
Я нашел то же самое поведение под версиями 4.1.5 и 3.1.17 удара, и также копировал проблему под чертой.
Я пытался использовать "printf", а не эхо; это ничего не изменило.
Это - ожидаемое поведение?