要不是你看错了,要不就是书上写错了!
正解:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.
切记:$?永远表示shell命令最后一次执行后的退出状态,当函数执行完毕后,如果又执行了其它命令,则$?不再表示函数执行后的状态,而表示其它命令的退出状态.
你的那本垃圾书赶紧丢掉吧
linux的shell与其它的语句一个很大甚至是完全相反的一点不同就是:返回结果为0表示真,其它任何值为假
估计你是看错了 ,正确的是 执行成功返回状态则为 "0";其他一切返回状态都是错误的,比如"1".
你看的什么书啊。我看到的这本书《轻松学用linux shell编程》里面也是这么说的,很郁闷
是不是你书上没看清楚,我也是个菜鸟,不过这个我知道,0是真,1是假,你可能书上没看清楚