认识bash shell4--Bash Shell使用环境之命令执行的判断依据:;,&&,||
本帖最后由 Zbrel 于 2017-8-7 17:47 编辑命令执行的判断依据:;,&&,||
① cmd;cmd(不考虑指令相关性的连续指令下达)
希望可以一次执行多个指令,可以用分号(;)来隔开指令,这样,分号前的指令执行完成后就会接着执行后面的指令了。
② $? (指令回传值) 与 && 或 ||
若两个指令之间有相依性,而这个相依性主要判断的地方在于前一个指令执行的结果是否正确,就可以通过指令回传值。『若前一个指令执行的结果为正确,在 Linux 底下会回传一个 $? =0 的值』。 那么我们怎么通过这个回传值来判断后续的指令是否要执行呢?这就得要借由『&& 』及『|| 』的帮忙了!注意,两个 & 之间是没有空格的!那个 | 则是 +[\]的按键键结果。
指令下达情况 说明
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]