免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2469 | 回复: 2
打印 上一主题 下一主题

[文件目录] ABS第一个例子没看懂: cd /var/log || {echo "cannot"} [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-24 20:11 |只看该作者 |倒序浏览
cd /var/log || {
echo "Cannot change to necessary directory." >&2
exit $E_XCD;
}


第一个例子就把我干倒了,这个||是什么意思?是bash参考手册里面说的命令队列的意思么?
如果是,那么从下面的描述,和&&没什么区别呀?

BASH参考手册:
§ 行符结束。
3.2.3
在命令队列中可以使用一个或多个换行符分隔命令,这与分号是等价的。
在之些队列运算符中,&& 命令队列是由一个或者管道通过运算符 草
命令队列
  和 || 具有同样的优先级;其次是 ;、&、&&、|| 连接而成,最后还可以 ; 和 &,这两个也有同样的优先级。
夨可选的天 由 ;、&、或换
如果一个命令是由控制字符 & 结束,则 女奨奥奬奬 会不同步的在子 女奨奥奬奬 中执行该命令。我们通常称之为
在奜后台夢运行该命令。这时 女奨奥奬奬 并不等待命令的结束,而其返回状态 0 夨即逻辑真天。如果没有启用作业控
制 夨参见 奸 夷奛作业控制奝夬 奰夶夹 天,并且也没有显式指定重定向,则在异步执行的命令的标准输入将被重定向到
/dev/null。
由 ; 分隔的命令将相继执行。奓奨奥奬奬 依次等待每个命令的结束。整个返回状态是最后一个要执行命令的
返回状态。
奜与夢和奜或夢命令队列是分别由控制运算符 && 和 || 分隔的一个或多个管道。奜与夢和奜或夢按照左结合的
方法执行。
奜与夢队列具有如下形式:
命令一 && 命令二
其中,当且仅当命令一返回值为零时才执行。
奜或夢队列具有如下形式:
命令一 || 命令二
其中,当且仅当命令一返回值为非零时才执行。
奜与夢和奜或夢队列的返回值是其中最后一个被执行的命令的返回值。
✉✉✉✉✉✉✉ ✉✉✉✉✉✉✉✉✉✉✉✉✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ ✉ 2

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
2 [报告]
发表于 2014-06-24 20:18 |只看该作者
回复 1# yeshi208


cd /var/log || {
echo "Cannot change to necessary directory." >&2
exit $E_XCD;
}

第一个例子就把我干倒了,这个||是什么意思?是bash参考手册里面说的命令队列的意思么?
如果是,那么从下面的描述,和&&没什么区别呀?


cmd1 || cmd2  #cmd1 执行不成功的时候(一般指返回码$?不为0)才执行cmd2
cmd1 && cmd2  #cmd1 执行成功的时候(一般指返回码$?为0)才执行cmd2

论坛徽章:
0
3 [报告]
发表于 2014-06-24 21:14 |只看该作者
回复 2# 关阴月飞


    有个人稍微给我讲下,学的快多了

great thanks.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP