这个0和非0不是判断成功没成功的吗
来源:2-5 退出状态码
CherryJ
2019-11-20
老师 $?不是判断命令成功没成功的吗 ps -ef | grep nginx | grep-v grep就算没有找到进程但是他也执行成功了呀 成功不就是0吗
写回答
1回答
-
酷田
2019-11-20
在执行这个的时候如果nginx进程不存在,结果没有任何输出,$?会是1,只要可以ps到,则会返回0!正常情形下,$?代表的是上一条命令的返回结果,但如你所说,ps不到nginx也可以理解为正常,但shell在这里会返回1……其他的比如ls /top ,假定目录下没任何内容,$?也会是0……这些内容是shell本身的问题,这些不用纠结,记住就行!shell中还有其他的一些坑,后面课程会讲到……有问题欢迎再交流哈
20
相似问题