bash中if-then与&&的区别
有时候为了方便,我们会把
if condition;then statement fi
简写成
condition && statement
但是这两种写法其实并不完全等价,最大的不同点在于它们的返回值是不同的。
我们可以比较一下:
if [ "1" = "0" ];then : fi echo "if语句返回值: $?" [ "1" = "0" ] && statement echo "&&语句返回值: $?"
if语句返回值: 0 &&语句返回值: 1
因此,当脚本开启 errexit
或者在写 travis-ci 的script部分时要注意一下这方面的差别。