if cmp -s file1 file2 && test -f file3
then
...
como escrito, o "if" falhará se um dos dois testes falhar e será bem-sucedido se ambos tiverem êxito, o que deve ser o que você deseja. Se você precisar da saída do segundo teste, você não deve fazer isso, porque ele não será executado se o primeiro teste falhar. Caso contrário, isso parece ser uma boa estratégia.