脚本是test.sh
.
#!/bin/sh
if cmp -s file.a file.b; then
echo diff
else
echo same
fi
当检查退出代码时,cmp -s
我看到:
何时file.a
和file.b
不同。
cmp -s file.a file.b
echo $?
1
当file.a
和file.b
相同时。
cmp -s file.a file.b
echo $?
0
那么为什么条件语句似乎相反呢?
何时file.a
和file.b
不同。
./test.sh
same
当file.a
和file.b
相同时。
./test.sh
diff
这不是我第一次看到这种情况。我一定是误解了该if
语句如何解释退出代码,或者也许它根本不是退出代码?