Actually, I still haven't got it right. The return status seems to always be 0.
Code:
-rw------- 1 anil staff 2244231168 Mar 10 00:50:38 2012 FreeBSD-9.0-RELEASE-i386-dvd1.iso
-rw------- 1 anil staff 2244231166 Mar 10 13:16:46 2012 test.iso
$ /usr/bin/shasum -a 256 -c CHECKSUM.SHA256 FreeBSD-9.0-RELEASE-i386-dvd1.iso
$ echo $?
0
$ /usr/bin/shasum -a 256 -c CHECKSUM.SHA256 test.iso
$ echo $?
0