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。