发布时间:2020/06/11 作者:天马行空 阅读(3035)
1、竖线'|' ,在linux中作为管道符,将'|'前面命令的输出作为'|'后面的输入
比如:显示text.txt文件的前面两行,cat test.txt|head -n2
[root@iz2ze9pf0xgaj16n65280pz ~]# cat test.txt aaaaa bbbbb ccccc ddddd eeeee fffff ggggg [root@iz2ze9pf0xgaj16n65280pz ~]# cat test.txt|head -n2 aaaaa bbbbb
2、双竖线'||',用双竖线'||'分割的多条命令,代表的是或者
执行的时候遵循如下规则,如果前一条命令为假,则继续执行后面的命令,如果前一条命令为真,则后面的命令不会执行。
比如:输入1小于2双竖线输出b,前面为真,后面不执行则没有输出b,输入1大于2双竖线echo b,前面为假则输出b。
[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -lt 2 ]]||echo b [root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]]||echo b b
再比如:判断文件是否存在,不存在则创建,存在就什么都不执行。
[root@iz2ze9pf0xgaj16n65280pz ~]# ls [root@iz2ze9pf0xgaj16n65280pz ~]# [[ -f 1.txt ]] || touch 1.txt [root@iz2ze9pf0xgaj16n65280pz ~]# ls 1.txt [root@iz2ze9pf0xgaj16n65280pz ~]# || touch 2.txt [root@iz2ze9pf0xgaj16n65280pz ~]# ls 1.txt
3、&& 可同时执行多条命令,代表的是且,当碰到执行错误的命令时,将不再执行后面的命令。如果一直没有错误的,则执行完毕。
[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -lt 2 ]] && echo b b [root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]] && echo b
4、&同时执行多条命令,不管命令是否执行成功
[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]] & echo b [1] 27051 b