diff -q file_1 File_2 || echo "success" && diff -q file_3 File_4 || echo "success"
이 명령을 사용했지만 필요한 올바른 논리가 아니었고 일부 메소드를 편집해야 했습니다.
여기서 file_1
File_2
file_3 File_4와 달리 echo는 두 번 실행되므로 한 번만 실행해야 하며, file_1 File_2 또는 file_3 File_4 파일이 다를 경우 echo "success"
한 번만 실행해야 합니다.
답변1
단락 평가를 고집하는 경우 명령 그룹화를 사용하십시오 {}
.
{ diff -q f1 f2 && diff -q f3 f4 ;} && echo 'Matched' || echo 'Different'
서브쉘 ()
도 작동합니다:
( diff -q f1 f2 && diff -q f3 f4 ) && echo 'Matched' || echo 'Different'
diff
출력을 원하지 않는 경우 :
{ diff -q f1 f2 && diff -q f3 f4 ;} >/dev/null && echo 'Matched' || echo 'Different'
( diff -q f1 f2 && diff -q f3 f4 ) >/dev/null && echo 'Matched' || echo 'Different'
if
파일을 쉽게 식별할 수 있도록 더 명확하게 만들기 위해 구문에 넣는 것이 좋습니다 .
if diff -q f1 f2 >/dev/null; then
if diff -q f3 f4 >/dev/null; then
echo 'All Matched'
else
echo 'f3 and f4 are Different'
fi
else
echo 'f1 and f2 Different'
fi