在执行某个命令时,有时需要依赖前面的命令是否执行成功。假如你想通过ssh命令复制很多数据文件到另外的机器后,删除所有源有文件,所以在删除源有文件之前首先要确定复制是不是执行成功。只要执行复制成功才可以删除,否则后果......
一、&&
1.格式
command1 && command2
2.含义
&&左边的command1执行成功(返回0表示成功)后,&&右边的command2才能被执行。
3.实例
(1)当把文件sql.txt复制一份为sql.bak.txt成功,然后显示副本sql.bak.txt
[root@RHEL5 shell]# cp sql.txt sql.bak.txt && cat sql.bak.txt Database Size(MB) Date Created -------------------------------------------- GOSOUTH 2244 12/11/97 TRISUD 5632 8/9/99
(2 rows affected)
(2)当文件facebook.txt经过排序并保存在facebook.txt.sorted被执行成功,打印facebook.txt.sorted 文件
sort facebook.txt > facebook.txt.sorted && lp facebook.txt.sorted
二、||
1.格式
command1 || command2
2.含义
表示如果command1能够成功执行,那么将会执行command2,如果失败则不执行。再画两个命令按钮,名称分别为command1、command2,。rem %errorlevel%表示取前一命令执行返回结果,net use成功返回0,失败返回2。
3.实例
(1)打印1111.txt的第一列内容,若执行不成功则执行显示facebook.txt的内容
[root@RHEL5 shell]# awk '{print $1}' 1111.txt || cat facebook.txt awk: cmd. line:1: fatal: cannot open file `1111.txt' for reading (No such file or directory) google 110 5000 baidu 100 5000 guge 50 3000 sohu 100 4500
(2)当打印1111.txt的第一列内容得命令被成功执行,则不执行打印facebook.txt的命令
[root@RHEL5 shell]# awk '{print $1}' facebook.txt || cat facebook.txt google baidu guge sohu
三、()
如果想执行几个命令,则需要用命令分隔符分号隔开每个命令linux命令大全,并使用圆括号()把所有命令组合起来。
结合||和&&可以实现复杂的功能。
1.格式(command1;command2;command3;...)
2.实例
curl命令可以通过命令行的方式,执行http请求.在elasticsearch中有使用的场景,因此这里研究下如何在windows下执行curl命令. 工具下载 在官网处下载工具包: 使用方式一:在curl.exe目录中使用 解压下载后的压缩文件,通过cmd命令进入到curl.exe所在的目录. 由于博主使用的是windows 64位 的系统,因此可以使用i386下的curl.exe工具. 进入到该目录后,执行curl --h。请看下面的实例,在c盘中有个test目录,在这个目录中,用echo创建了一个batname.bat的文件,这个批处理将执行一条命令,调用系统的记事本程序,但执行这个批处理的时候会出现一个黑框,创建一个vbs文件,使用这个vbs来执行这个批处理文件,将不出现黑框,达到隐藏cmd窗口的目的。运行winrescue后将会出现backup的界面(如果你没有注册首先会弹出一个注册信息),共有五个选项卡,分别为backup、restore、regpack、config、bootdisk、help,我们先从backup说起,在这个选项卡中有一个大大的backup按钮,点击它将对windows的系统文件以及你所指定的特殊文件进行备份并压缩成一个以当前日期为文件名的文件夹,点击此选项卡下端的“change backup preferences"将弹出backup设置界面,实际上winrescue所提供的默认设置对于普通用户已经足够了,如果你是一名高级用户还可以将其他一些重要的文件加到备份列表中,操作方法是打开files项,单击“add”按钮,然后选择你要备份的文件并添加到“files to backup and restore"列表中,另外,除了系统文件的备份,用户一般还希望能够经常对自己的文件进行备份,由于这些文件常常可以按照属性分为几类,如文本文件、word文件、excel文件等,所以利用multifiles(文件组)备份功能将使这些文件的备份变得轻松得多,打开multifiles项,然后点"add"按钮,选择备份文件的位置,你可选择备份一个目录或是选择备份同一类型的文件(如后缀为txt、doc文件),并为这一组文件指定一个名称,然后选择ok,你所指定的文件组就出现在了multifiles group列表中。
sort facebook.txt > facebook.txt.sorted && (cp facebook.txt.sorted /root/backup/facebook.txt.sorted;lp facebook.txt.sorted)
(2)打印facebook.txt文件失败就发邮件告知root用户linux命令大全,并关机
lp facebook.txt.sorted ||(echo "It was not submitted succuessfully" | mail root;init 0)
总结
以上所述是小编给大家介绍的&&、()、||决定linux命令的执行顺序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对龙方网络网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!