QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

鱼友Ⅰ

Rank: 2Rank: 2

积分
132
查看: 197|回复: 0

[学习笔记] 认识bash shell4--Bash Shell使用环境之命令执行的判断依据:;,&&,||

[复制链接]
最佳答案
0 
累计签到:92 天
连续签到:4 天
Zbrel 发表于 2017-8-6 22:41:46 1970 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Zbrel 于 2017-8-7 17:47 编辑

命令执行的判断依据:;,&&,||
① cmd;cmd(不考虑指令相关性的连续指令下达)
希望可以一次执行多个指令,可以用分号(;)来隔开指令,这样,分号前的指令执行完成后就会接着执行后面的指令了。
② $? (指令回传值) 与 && 或 ||
若两个指令之间有相依性,而这个相依性主要判断的地方在于前一个指令执行的结果是否正确,就可以通过指令回传值。『若前一个指令执行的结果为正确,在 Linux 底下会回传一个 $? =0 的值』。 那么我们怎么通过这个回传值来判断后续的指令是否要执行呢?这就得要借由『&& 』及『|| 』的帮忙了!注意,两个 & 之间是没有空格的!那个 | 则是 [Shift]+[\]的按键键结果。
指令下达情况        说明
cmd1&&cmd2        1. 若 cmd1 执行完毕且正确执行($?=0),则开始执行 cmd2。
2. 若 cmd1 执行完毕且为错误 ($?≠0),则 cmd2 不执行。

cmd1||cmd2        1. 若 cmd1 执行完毕且正确执行($?=0),则 cmd2 不执行。
2. 若 cmd1 执行完毕且为错误 ($?≠0),则开始执行 cmd2。

练习:使用ls查阅目录/tmp/abc是否存在,若存在则用touch建立/tmp/abc/he
ls /tmp/abc && touch /tmp/abc/he
以 ls 测试 /tmp/vbirding 是否存在,若存在则显示 "exist" ,若不存在,则显示 "not exist"!
ls /tmp/vbirding && echo "exist" || echo "not exist"

评分

参与人数 1鱼币 +1 收起 理由
小甲鱼 + 1

查看全部评分

本帖被以下淘专辑推荐:

楼层
跳转到指定楼层

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-12-17 14:10

快速回复 返回顶部 返回列表