使用例子: cmp -s sysfs-tty sysfs-ptp echo $? 1 cmp -s sysfs-tty sysfs-tty echo $? 0bash
說明: sysfs-tty, sysfs-ptp是文件名, echo $?會輸出上一條命令的執行結果,1表示比較的兩個文件內容不一樣, 0 表示比較的兩個文件內容相同。 比較內容是文件的二進制內容。ui
基於此,能夠在bash 腳本里,根據比較結果來作不一樣的動做: cmp -s sysfs-tty sysfs-ptp if [ "$?" -ne 0 ]; then #若是不相同或比較失敗,則從新拷貝等 else #若是相同,則不作。。。 fithis
cmp 命令說明: Usage: cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]] Compare two files byte by byte.ip
-b --print-bytes Print differing bytes. -i SKIP --ignore-initial=SKIP Skip the first SKIP bytes of input. -i SKIP1:SKIP2 --ignore-initial=SKIP1:SKIP2 Skip the first SKIP1 bytes of FILE1 and the first SKIP2 bytes of FILE2. -l --verbose Output byte numbers and values of all differing bytes. -n LIMIT --bytes=LIMIT Compare at most LIMIT bytes. -s --quiet --silent Output nothing; yield exit status only. -v --version Output version info. --help Output this help.input
SKIP1 and SKIP2 are the number of bytes to skip in each file. SKIP values may be followed by the following multiplicative suffixes: kB 1000, K 1024, MB 1,000,000, M 1,048,576, GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.it
If a FILE is `-' or missing, read standard input. Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.io