shell求助,数值比较-eq,-ne,-gt,-ge,-lt,-le。书上说的是:假值是零,真值为1,可写的脚本却出错了。

2024-11-02 01:37:15
有5个网友回答
网友(1):

要不是你看错了,要不就是书上写错了!
正解:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.
切记:$?永远表示shell命令最后一次执行后的退出状态,当函数执行完毕后,如果又执行了其它命令,则$?不再表示函数执行后的状态,而表示其它命令的退出状态.

网友(2):

你的那本垃圾书赶紧丢掉吧
linux的shell与其它的语句一个很大甚至是完全相反的一点不同就是:返回结果为0表示真,其它任何值为假

网友(3):

估计你是看错了 ,正确的是 执行成功返回状态则为 "0";其他一切返回状态都是错误的,比如"1".

网友(4):

你看的什么书啊。我看到的这本书《轻松学用linux shell编程》里面也是这么说的,很郁闷

网友(5):

是不是你书上没看清楚,我也是个菜鸟,不过这个我知道,0是真,1是假,你可能书上没看清楚