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 문서 (예 : write)를 인용하고 싶지 않습니다. 여기서 <'FOOBAR'
변수를 대체하고 싶기 때문입니다.
나는 그것이 좋은 예임을 인정해야한다. 내 실제 요구는 그보다 더 복잡합니다.
—
팀 프리 스케
당신
—
라파엘 아 렌스
(Even
이 "(Even"
그것을 대체 할 때 작동 한다는 것은 흥미 롭습니다 . 동일합니다 \(Even
. 파싱 버그 인 것 같습니다. Bash는 여전히 중괄호를 찾고 있었지만 여기 문서를 읽는 맥락에서 두 컨텍스트가 서로 모순됩니다.
이것은
—
chepner
bash
부수적 으로 4.3에서 수정되었습니다 .
cat
전화 가 필요 합니까? 왜 전화를 놔두지fmt
않겠습니까?