用&&连接两个命令,前一命令执成功(返回0)下一命令才会执行,

如 date && echo 1 会打印1,而data && echo 2不会打印2

&&、()、||决定linux命令的执行顺序

在执行某个命令时,有时需要依赖前面的命令是否执行成功。

 
一、&&
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)
 
 
二、||
 
1.格式
   command1 || command2
2.含义
   如果||左边的command1执行失败(返回1表示失败),就执行&&右边的command2。
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
 
三、()
如果想执行几个命令,则需要用命令分隔符分号隔开每个命令,并使用圆括号()把所有命令组合起来。
结合||和&&可以实现复杂的功能。
1.格式(command1;command2;command3;...)
2.实例
(1)使用多个命令,如果sort命令执行成功,先将排序后的文件备份到/root/backup/目录下,然后再打印
sort facebook.txt > facebook.txt.sorted && (cp facebook.txt.sorted /root/backup/facebook.txt.sorted;lp facebook.txt.sorted)
(2)打印facebook.txt文件失败就发邮件告知root用户,并关机
lp facebook.txt.sorted ||(echo "It was not submitted succuessfully" | mail root;init 0) 
 

linux中的&&,|| 与 () 命令的更多相关文章

  1. Linux中的历史命令

    Linux中的历史命令一般保存在用户    /root/.bash_history history 选项 历史命令保存文件夹 选项     -c:清空历史命令     -w :把缓存中的历史命令写入历 ...

  2. 关于XShell的常见使用和设置以及Linux中的常见命令.

    本文部分转自:http://sundful.iteye.com/blog/704079 和 http://www.vckai.com/p/5 有时候在XShell中操作的一些命令傻傻的分不清这个命令到 ...

  3. linux中的strings命令简介2

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...

  4. linux中的strings命令简介

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 在linux下搞软件开发的朋友, 几乎没有不知道 ...

  5. linux中的ps命令用法。

    在linux中使用ps命令可以查看有哪些进程在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等. ps命令最常用的是用于监控后台进程的工作情况. 名称:ps 使用权限:所有 ...

  6. linux中的 tar命令的 -C 参数,以及其它一些参数(转)

    linux中的 tar命令的 -C 参数,以及其它一些参数 复制源:http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.htmltar命令 ...

  7. Linux故障:linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。

    linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0".   ...

  8. Linux 中的 Install命令

    Linux 中的 Install命令 更新时间:2017年09月25日 16:51:45   投稿:mrr   我要评论 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户. ...

  9. Linux 中常用的命令

    Linux中的常用命令: 终端快捷键: Ctrl + a/Home 切换到命令行开始 Ctrl + e/End 切换到命令行末尾 Ctrl + l 清除屏幕内容,效果等同于clear Ctrl + u ...

  10. Linux中使用sed命令或awk命令修改常规配置文件

    一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...

随机推荐

  1. jQuery 父iframe与子iframe 相互调用传值

    来自:https://blog.csdn.net/wd4871/article/details/50517597 侵删 父页面中的iframe :如下 <iframe name="su ...

  2. Dynamics CRM图表高级话题:创建跨实体的图表

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复147或者20150728可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 制作图表你会发现,在界面上只能选 ...

  3. ButterKnife注解式绑定控件

    Butter Knife Android为控件设计的注解绑定库. github地址:https://github.com/JakeWharton/butterknife 添加依赖:(具体看github ...

  4. python读取txt文件最后一行(文件大+文件小)

    txt文件小 #coding:utf-8 ''' fname为所读xx.txt文件 输出为:文件第一行和最后一行 ''' fname = 'test.txt' with open(fname, 'r' ...

  5. UDK命令

    UDK命令行参数与控制台命令都是大小写不敏感的 命令行  udn中文  udn英文 全词大小写匹配,正则表达式,在c++代码中搜索减号开头的命令行参数(如:-BENCHMARK.-onethread等 ...

  6. Win7 64位下安装64bit MS SQL Server2005时安装不了Reporting Services的处理办法

    警告截图: 解决办法: 在cmd窗口运行如下脚本即可: "cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/A ...

  7. c/c++ 多线程 利用条件变量实现线程安全的队列

    多线程 利用条件变量实现线程安全的队列 背景:标准STL库的队列queue是线程不安全的. 利用条件变量(Condition variable)简单实现一个线程安全的队列. 代码: #include ...

  8. MySQL:1366 - Incorrect string value错误解决办法

    今天使用navicat向MySQL中插入中文时,报错: - Incorrect string value:... 在我自己数据库设计之初,没有设计好字符编码格式的问题. 使用如下语句解决: alter ...

  9. table 的宽度设置无效

    1.在table 标签添加样式 table-layout: fixed; 必须设置width的值:<table style="table-layout: fixed"> ...

  10. SQLServer之修改CHECK约束

    使用SSMS数据库管理工具修改CHECK约束 1.打开数据库,选择数据表->右键点击->选择设计(或者展开约束,选择约束,右键点击,选择修改,后面步骤相同). 2.选择要修改的数据列-&g ...