부울 명령문을 사용하여 두 디렉터리를 비교하고 싶습니다.

부울 명령문을 사용하여 두 디렉터리를 비교하고 싶습니다.

두 디렉터리를 비교하고 모든 파일이 두 디렉터리에 모두 있는지 확인하고 싶습니다. diff cmd에 대해 알고 있지만 부울 논리를 사용할 수 있는 방법이 있습니까? if 디렉토리의 내용 == 디렉토리 b의 내용 print "true" else print "false" 하지만 스크립트를 작성할 때의 구문이 여전히 새로운 것인지는 모르겠습니다.

답변1

diff명령을 사용 하고 종료 코드로 부울 결과를 얻을 수 있습니다.

diff dir1/ dir2/ >/dev/null 2>&1
EXITCODE=$?

변수가 0 이면 EXITCODE디렉터리가 동일한 것이고, 1이면 디렉터리가 동일하지 않은 것이며, 2이면 디렉터리, 파일 등을 읽을 수 있는 권한이 없는 등의 문제가 있는 것입니다.

참고로 확인하시면 됩니다이 답변. 반품구경하다특정 bash종료 코드에서.

PS 주석에서 다음과 같은 코드를 사용할 수 있습니다.

if diff dir1/ dir2/ >/dev/null 2>&1
 then echo true
 else echo false
fi

관련 정보