作者回复: 程序错误不仅有语法错误, 还有逻辑错误。程序出现语法错误,你通过echo $? 可以判断是否正确执行;那逻辑错误,如果也想利用这种方法就需要自定义exit的返回值,所以exit 非0 ,往往写在业务逻辑判断语句下面,如果业务逻辑出错,返回一个和小伙伴协商好的错误编号, 如果业务逻辑正确就返回0,这是它的用法