码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下的命令执行判断

时间:2019-10-21 22:08:31      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:rect   文章   www   class   介绍   http   ESS   compress   ota   

参考博主‘‘迹忆‘‘的文章,对linux下命令判断的使用有了初步的认识,命令执行判断是使用&&和||将多条命令联系到一起,执行的时候会通过判断上一条命令的执行结果,来决定下一条命令的执行‘命运‘。

$?

$?即上一条命令执行后的回传值,如果执行正确则返回0,如果执行错误则返回一个非0的数字。

# 执行正确命令
[root@node01 /home/yangchaolin]# ll decompress/ total 20 -rw-------. 1 root root 18311 Oct 20 09:47 secure
# 返回0 [root@node01
/home/yangchaolin]# echo $? 0
# 执行错误命令 [root@node01 /home/yangchaolin]# ll hehe ls: cannot access hehe: No such file or directory
# 返回非0数字 [root@node01
/home/yangchaolin]# echo $? 2

&&和||

利用命令执行后的返回值的特征,可以配合&&和||,完成命令执行的判断,&&和||跟java中短路与和短路或类似。

(1)comand1 && comand2,如果comand1执行正确,接着会执行comand2,如果comand1执行错误,comand2将不再执行。

(2)comand1 || comand2,如果comand1执行正确,comand2将不再执行,如果comand1执行错误,则接着还要执行comand2。

下面结合$?和&& ||进行一下测试,感受一下。

# 先进入hehe目录,如果没有这个目录则创建这个目录
[root@node01 /home/yangchaolin]# cd hehe || mkdir hehe && echo $? -bash: cd: hehe: No such file or directory
# 返回0是因为创建目录hehe成功了,所以返回0
0
# 查看验证确实创建目录成功 [root@node01 /home/yangchaolin]# ll total 104 -rw-r--r--. 1 root root 4 Oct 20 10:56 count drwxr-xr-x. 2 root root 4096 Oct 20 09:53 decompress
drwxr-xr-x. 2 root root  4096 Oct 20 11:48 hehe
...
# 再次执行重复命令 [root@node01
/home/yangchaolin]# cd hehe || mkdir hehe && echo $?
# 执行返回0,是因为cd hehe || mkdir hehe的cd hehe执行成功,mkdir hehe就不再执行,整体执行成功,因此echo $?会执行 0
# 确定进入了hehe目录。 [root@node01 /home/yangchaolin/hehe]# pwd /home/yangchaolin/hehe

以上是对Linux命令执行判断的简单理解,后续查看用。

 

参考转载博文:

(1)https://www.onmpw.com/tm/xwzj/opersys_124.html 非常棒的$?介绍

Linux下的命令执行判断

标签:rect   文章   www   class   介绍   http   ESS   compress   ota   

原文地址:https://www.cnblogs.com/youngchaolin/p/11716600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!