linux & && | || 区别

 一、&

&  表示任务在后台执行,如要在后台运行redis-server,如

 redis-server & 

 

二、&&

&& 表示前一条命令执行成功时,才执行后一条命令 ,如

 echo 'me‘ && echo 'you'  

 

 

 三、| 

| 表示管道,上一条命令的输出,作为下一条命令参数,如:

[root@localhost ~]# find /etc/ -name passwd 2>&1 | wc -l 
2
 #搜索/etc 下面 name(名字)为passwd的文件,并将结果通过管道 | 传送到后面作为后一级命令 wc的参数,wc -l 统计文件行数。
 

 

 

四、||

|| 表示上一条命令执行失败后,才执行下一条命令,如

 cat file || echo "hello"

 五、实例讲解

~]#   id user1 &> /dev/null && exit 0 || useradd user1
id user1: 显示user1 的ID 并重定向&>至/dev/null ,&&前面的命令成功了就执行 exit 0,程序中止;
&&前面的命令如果执行失败了,则跳过exit 0,执行 ||后面的命令: useradd user1 .
具体思路:就是判断系统原来有没有user1用户,有的话就退出,没有就useradd新增加一个user1。 

 

posted @ 2018-05-27 20:47  bin_WSJ  阅读(181)  评论(0编辑  收藏  举报