bash의 if 조건에서 -s 및 [[]]는 무엇을 의미합니까?

if [[ -s log.txt ]];

-s는 무엇을 의미합니까? -z는 크기가 0 인 문자열을 의미합니다. -s에 대한 문서를 찾을 수 없습니다.

if 조건을 작성하는 동안 [] 또는 [[]]의 의미는 무엇입니까? [] 또는 [[]]없이 if를 사용했는데 제대로 작동했습니다.

답변

-s 테스트는

[…] 파일이 있고 크기가 0보다 큽니다.

이 내용은 bash 설명서와 test 유틸리티 (테스트는 if test -s file; then로 작성 될 수도 있음).

[[ ... ]], 참조 : Bash-구문이 혼동되는 경우

답변

-s 파일 :-파일이 존재하며 크기가 0보다 큽니다.

[[…]] 부분은 연산자를 사용하여 조건을 테스트 할 수 있습니다. if 문으로 생각하십시오. 귀하의 예에서는 참조 된 파일이 비어 있지 않은지 테스트하는 “-s 연산자를 사용하고 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다