shell脚本中的&&和||

在编写shell的时候,经常会使用的&&和||,那么他们是什么意思呢?

&&判断式是这样的,如果前面的一个命令回传的是0,也就是正确,那么就执行后面的指令,如果前面的指令回传非0(错误的),那么就不去执行后面的指令。

||的使用正好与&&相反,如果前面的指令执行结果返回错误值,那么就可以执行后面的指令。

下面是两个例子,来分析一下

#ls /data/sh && mkdir /data/sh/sh1
上面的指令说明了,如果/data/sh目录存在,那么就在/data/sh目录下再创建一个sh1的目录

#ls /data/sh2 || mkdir /data/sh2
上面的指令说明了,要是.data/sh2目录不存在,那么就去创建/data/sh2这个目录


-----------------------------------------------------------------------

shell的标准输入默认的是键盘,也可以试文件或者管道|
标准输出默认是终端同样也可以是文件或者管道
标准错误默认也是终端,可以试文件等

标准的输入、输出、和错误输出分别表示STDIN STDOUT STDERR 也可以用数字表示 0 1 2

有了以上的解释就明白了

command >log.log 2>&1

2> 代表的是标准输出的重定向

& 是等同于的意思

2>&1 意思是标准错误输出等同于标准输出

command >log.log 2>&1 也就是标准输出 和 标准错误输出 都输入到了log.log文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值