#/bin/sh参数-e的含义

注:本博客欢迎转载和引用,但请保留原作者信息!

一.背景

今天遇到一个诡异的问题,一旦脚本中判断$?为非零,那么脚本就会自动退出的情况,仔细调试脚本的逻辑,并没有发现错误,因此作此文

二.解决

既然要判断$?的值,那么就将脚本开头指定的参数-e去掉

三.-e含义

每条指令之后,都可以用$?去判断它的返回值,零就是正确执行,非零就是执行有误,加了-e之后,就不用自己写代码去判断返回值,返回非零,脚本就会自动退出。