그것은 쓸모가 없습니다-그것은 일반 >
리디렉션 연산자 의 특수한 형태입니다 (그리고 아마도 파이프와는 관련이 없습니다). bash
대부분의 다른 최신 쉘에는 옵션 noclobber
이있어 리디렉션이 이미 존재하는 파일을 덮어 쓰거나 파기하지 못하게합니다. 예를 들어, noclobber
true이고 파일이 /tmp/output.txt
이미 존재하면 실패합니다.
$ some-command > /tmp/output.txt
그러나 리디렉션 연산자 를 noclobber
사용 하여 설정을 명시 적으로 무시할 수 있습니다 >|
. 리디렉션 noclobber
이 설정되어 있어도 리디렉션이 작동 합니다.
로 noclobber
현재 환경에 설정되어 있는지 확인할 수 있습니다 set -o
.
역사적으로, "noclobber"옵션과 바이 패스 기능은 모두 csh
70 년대 후반에 나온 것입니다 . ksh
그것을 복사했지만 (80 년대 초) >|
대신에 사용 되었습니다 >!
. POSIX는 ksh
구문을 지정했습니다 (따라서 bash, 일부 시스템에서 sh로 사용되는 최신 애쉬 파생물을 포함한 모든 POSIX 셸이이를 지원함). Zsh는 두 구문을 모두 지원합니다. Bourne 쉘 변형에 추가 된 것으로 생각하지 않지만 잘못되었을 수 있습니다.
>|
에서 : stackoverflow.com/questions/818255/in-the-bash-shell-what-is-21/...