想一次性运行多条命令,而不想等待一条命令运行完后再输入另一条?
想多次命令之间加上些逻辑判断?
分号
|
|
cmd1运行完之后就会立刻运行cmd2,cmd2运行完后就会立刻运行cmd3
同或与异或
命令 | 说明 |
---|---|
cmd1 && cmd2 | cmd1运行正确则运行cmd2,cmd1运行错误则不运行cmd2 |
cmd1 ll cmd2 | cmd1运行正确则不运行cmd2,cmd1运行错误则运行cmd2 |
- 不论/tmp/abc是否存在,都创建/tmp/abc/hehe文件1ls /tmp/abc || mkdir /tmp/abc && touch /tmp/abc/hehe
命令运行分析:
1) 若/tmp/abc不存在则ls /tmp/abc回传的$?不等于0,则||后面的mkdir /tmp/abc就会成功执行并回传$?等于0,则&&后面的touch /tmp/abc/hehe顺利执行;
2) 若/tmp/abc存在则ls /tmp/abc回传的$?等于0,则||后面的mkdir /tmp/abc就不会执行,此时$?还是等于0,则&&后面的touch /tmp/abc/hehe顺利执行;