В Bash версии 4.2.47 (1) -релиз, когда я пытаюсь наклеить отформатированный текст, полученный из HERE-dcoument, примерно так:
cat <(fmt --width=10 <<FOOBAR
(I want the surrounding parentheses to be part of the HERE-document)
(Even the preceding unbalanced parenthesis should be part of it.
FOOBAR
) # I want this paranthesis to end the process substitution.
Я получаю следующую ошибку:
bash: bad substitution: no closing `)' in <(fmt --width=10 <<FOOBAR
(I want the surrounding parentheses to be part of the HERE-document)
(Even the preceding unbalanced parenthesis should be part of it.
FOOBAR
)
Также я не хочу цитировать HERE-документ, т.е. писать <'FOOBAR'
, потому что я все еще хочу, чтобы в нем были подставлены переменные.
(Even
на "(Even"
это работает. Это то же самое для \(Even
. Похоже, ошибка разбора. Bash все еще находится в контексте, где он ищет фигурные скобки, а также в контексте чтения документа здесь, и оба контекста противоречат друг другу.
bash
4.3, кстати.
cat
звонок? Почему бы не оставить это при звонкеfmt
?