에코 "성공"을 표시하는 명령이 필요합니다.

에코 "성공"을 표시하는 명령이 필요합니다.
diff -q file_1 File_2 || echo "success" && diff -q file_3 File_4 || echo "success" 

이 명령을 사용했지만 필요한 올바른 논리가 아니었고 일부 메소드를 편집해야 했습니다.

여기서 file_1 File_2file_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

관련 정보