shell里if语句的判断条件值
shell的if格式为 if [ condition ] ; then statement 这里判断的结果为true和false。而true和false是在这个地方是不能直接用0或1代替的,因为对任意数字,shell返回的都是true。[ condition ]部分如果是一个函数,而函数有return语句,此时返回值0会被当做true,而其他数字则会被当做false。
刚开始学习,这里很迷惑,看了很多说是每个语句都会有一个状态码返回,所以任何数字放在if的判断部分时,其实返回的都是1,此时却是执行的都是else分支部分。