Bash Brace 셸 확장 실패

Bash Brace 셸 확장 실패

file1, file2, file3, file4이라는 5개의 파일이 있습니다 file5. 다음 명령을 실행하려고 합니다 echo "contents" >> file{1,2,3,4,5}. 이 명령을 실행하면 다음 오류가 발생합니다 -bash: file{1,2,3,4,5}: ambiguous redirect. 내 목표는 하나의 명령으로 파일을 복사하기 위해 일부 텍스트를 에코하는 것입니다. 이 목표를 어떻게 달성할 수 있나요? 미리 감사드립니다.

답변1

여러 파일로 리디렉션할 수 없습니다. 대신 질문에 추가 리디렉션 연산자를 사용하므로 tee -a( "추가")를 사용하십시오 .-a>>

echo "contents" | tee -a file{1,2,3,4,5}

또 다른 옵션은 bash 대신 zsh를 사용하는 것입니다. 이는 여러 파일로 리디렉션할 수 있습니다.

[birdsnest ~]% echo foo > /tmp/{foo,bar}
[birdsnest ~]% cat /tmp/foo 
foo
[birdsnest ~]% cat /tmp/bar 
foo

관련 정보