命令运行的判断依据: ; , &…
2013-02-03 23:45
274 查看
原文地址:命令运行的判断依据: ; , &&, ||作者:linux菜鸟cmd ; cmd (不考虑命令相关性的连续命令下达)
在某些时候,我们希望可以一次运行多个命令,例如在关机的时候我希望可以先运行两次 sync 同步化写入磁盘后才 shutdown
计算机,那么可以怎么作呢?这样做呀:
在命令与命令中间利用分号 (;) 来隔开,这样一来,分号前的命令运行完后就会立刻接着运行后面的命令了。
这真是方便啊~再来,换个角度来想,万一我想要在某个目录底下创建一个文件,也就是说,如果该目录存在的话,
那我才创建这个文件,如果不存在,那就算了。也就是说这两个命令彼此之间是有相关性的,
前一个命令是否成功的运行与后一个命令是否要运行有关!那就得动用到 &&
或 || 啰!
$? (命令回传值) 与
&& 或 ||
如同上面谈到的,两个命令之间有相依性,而这个相依性主要判断的地方就在于前一个命令运行的结果是否正确。
还记得本章之前我们曾介绍过命令回传值吧!嘿嘿!没错,您真聪明!就是透过这个回传值啦!
再复习一次『若前一个命令运行的结果为正确,在 Linux 底下会回传一个 $?
= 0 的值』。 那么我们怎么透过这个回传值来判断后续的命令是否要运行呢?这就得要藉由『
&& 』及『 || 』的帮忙了! 注意喔,两个 & 之间是没有空格的!那个 | 则是 [Shift]+[]
的按键结果。
在某些时候,我们希望可以一次运行多个命令,例如在关机的时候我希望可以先运行两次 sync 同步化写入磁盘后才 shutdown
计算机,那么可以怎么作呢?这样做呀:
[root@www ~]# sync; sync; shutdown -h now |
这真是方便啊~再来,换个角度来想,万一我想要在某个目录底下创建一个文件,也就是说,如果该目录存在的话,
那我才创建这个文件,如果不存在,那就算了。也就是说这两个命令彼此之间是有相关性的,
前一个命令是否成功的运行与后一个命令是否要运行有关!那就得动用到 &&
或 || 啰!
$? (命令回传值) 与
&& 或 ||
如同上面谈到的,两个命令之间有相依性,而这个相依性主要判断的地方就在于前一个命令运行的结果是否正确。
还记得本章之前我们曾介绍过命令回传值吧!嘿嘿!没错,您真聪明!就是透过这个回传值啦!
再复习一次『若前一个命令运行的结果为正确,在 Linux 底下会回传一个 $?
= 0 的值』。 那么我们怎么透过这个回传值来判断后续的命令是否要运行呢?这就得要藉由『
&& 』及『 || 』的帮忙了! 注意喔,两个 & 之间是没有空格的!那个 | 则是 [Shift]+[]
的按键结果。
命令下达情况 | 说明 |
cmd1 && cmd2 | 1. 若 cmd1 运行完毕且正确运行($?=0),则开始运行 cmd2。 2. 若 cmd1 运行完毕且为错误 ($?≠0),则 cmd2 不运行。 |
cmd1 || cmd2 | 1. 若 cmd1 运行完毕且正确运行($?=0),则 cmd2 不运行。 2. 若 cmd1 运行完毕且为错误 ($?≠0),则开始运行 cmd2。 |
相关文章推荐
- 【linux学习笔记】命令执行判断依据(';'、'&&'、'||')管线命令('|')以及cut、grep命令
- linux中shell命令执行的判断依据 &&,||, (),{}
- 命令执行的判断依据: ; , &&, ||
- 用 systeminfo 命令判断系统是32位…
- linux--命令执行的判断依据: ; , &&, ||
- 转:详述Linux后台运行命令 &
- 'mysql' 不是内部或外部命令,也不是可运行的程序,或批处理文件。
- 'nasm.exe' 不是内部或外部命令,也不是可运行的程序
- C:\Program'不是内部或外部命令,也不是可运行的程序
- websphere 运行jsp 和 servlet
- windows net  use 命令详解
- PHP 判断是否为整型
- 图书管理系统 运行效果
- [一天几个linux命令] 命令执行的决断依据 ; && ||
- 'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件
- Linux vmstat命令实战详解
- mysql source命令
- 关于ActivePython 无法正常运行的…
- Linux执行shell脚本方式及区别&命令后台运行
- Android ADB shell 命令大全