if [[ -s log.txt ]];
-s은 무슨 뜻인가요? -z는 크기가 0인 문자열을 의미한다는 것을 알고 있습니다. -s에 대한 문서를 찾을 수 없습니다.
조건을 작성할 때 [] 또는 [[]]는 무엇을 의미하나요 if
? [] 또는 [[]] 없이 사용했는데 if
잘 작동합니다.
답변1
테스트는 -s
다음과 같은 경우 true를 반환합니다.
[...] 파일이 존재하고 크기가 0보다 큰 경우
bash
이는 유틸리티 매뉴얼뿐만 아니라 매뉴얼에도 문서화되어 있습니다 test
(테스트도 작성할 수 있습니다 if test -s file; then
).
다음을 참조 [ ... ]
하세요 [[ ... ]]
:Bash - 구문이 혼란스러운 경우
답변2
-s
파일: - 파일이 존재하며 크기가 0보다 큽니다.
[[ ... ]] 섹션에서는 연산자를 사용하여 조건을 테스트할 수 있습니다. if문이라고 생각하시면 됩니다. 귀하의 예에서는 -s
참조된 파일이 비어 있지 않은지 여부를 테스트하는 연산자를 사용하고 있습니다.