>|
언제 출력을 파일로 리디렉션하는 대신 사용해야 합니까 >
?
이것을 볼 때 주어진 설명은 대상 파일이 먼저 잘리는 것을 보장한다는 것입니다. 그러나 나는 >
그것이 암시되었다고 생각합니다.
그거 유용한데 >|
?
답변1
이것은 옵션의 명확한 우회입니다 noclobber
.
이렇게 하면 세트를 사용해도 noclobber
파일을 덮어쓸 수 있습니다 .
바라보다http://mywiki.wooledge.org/NoClobber
에서 man bash
:
리디렉션 연산자가 >이고 set 내장 함수의 noclobber 옵션이 활성화된 경우 단어 확장으로 인해 이름이 생성된 파일이 존재하고 일반 파일인 경우 리디렉션이 실패합니다. 리디렉션 연산자가 >|이거나 리디렉션 연산자가 >이고 set 내장 명령의 noclobber 옵션이 활성화되지 않은 경우 word라는 이름의 파일이 존재하더라도 리디렉션을 시도합니다.
답변2
에서 man bash
:
-C If set, bash does not overwrite an existing file with
the >, >&, and <> redirection operators. This may be
overridden when creating output files by using the redi‐
rection operator >| instead of >.