Bash에서 "&>>"의 용도는 무엇입니까?

Bash에서 "&>>"의 용도는 무엇입니까?

저는 bash 스크립트 코드를 작업 중인데 "&>>" 연산자를 발견했습니다. 나는 그 목적을 이해하지 못했습니다. 그래서 나는 언급했다.http://www.gnu.org/software/bash/manual/html_node/Redirections.html.

와 의미상 동일합니다 >> file 2>&1.

다음은 내 쉘의 출력입니다.

# echo $SHELL
/bin/bash
# echo "hello" &>> file1
bash: syntax error near unexpected token `>'

그리고

# echo "hello" >> file1 2>&1

# cat file1 

hello

질문: - 왜 오류가 발생합니까 bash: syntax error near unexpected token '>'?

[편집하다]:- Bash 버전 3.2.25(1)-릴리스(x86_64-redhat-linux-gnu)

답변1

이전 버전의 bash(3.2.25)를 사용하고 있기 때문에 해당 오류가 발생합니다.

Bash4부터 &>>TARGET와 동등한 가 있습니다 >> TARGET 2>&1.

원천:리디렉션 출력 추가

따라서 업그레이드를 고려해야 합니다. 나는 bash 버전 4.2.45를 사용하고 있는데 echo "hello" &>> file1그것은 나에게 매력적으로 작동합니다.

답변2

이 기능은 bash 4.0 알파에서 도입되었으므로 4.0 이상의 모든 bash에서 사용할 수 있습니다.

http://git.savannah.gnu.org/cgit/bash.git/tree/CHANGES?id=0001803f0b9523c94fa2ede48eaecb047fef4524——라인 976.

(원본 4.0-alpha 변경 로그에서는 연산자를 로 잘못 보고했습니다 >>&. 매뉴얼 페이지에는 올바른 1이 표시되었으며 &>>오타는 4.1에서 수정되었습니다.)

관련 정보