linux如何执行多条语句放在文件里,linux上执行多个shell命令,在上一步命令执行成功才继续下一步命令, 且每步中包含多个命令语句的简洁写法...

有时候我们需要执行一系列操作, 每一步需要上一步执行成功后才会执行下一步否则就退出整个脚本,  直接举个栗子:

wget https://getcomposer.org/installer || ( echo "failed"; exit ) && php composer-setup.php && rm -r composer-setup.php && echo "install oj8k"

这里是其他的shell命令

解释:

'&&': 顺序执行执行作用  如a && b, a成功后才会执行b, 否则b不会执行

'||': 如a||b a执行失败才会执行b,a 成功了就不会执行b了

';'  : 两条shell要使用逗号隔开

():  为了将多条命令当作一个整体看, 如例子中 ( echo "failed"; exit ) 如果wget执行失败会执行echo 和 exit退出脚本这两个动作, 一定要加上(), 不然exit会被当成独立的语句,所以无论怎么都会被执行到, 这就违背了我们的意图了

以上命令所做事情的描述:

wget 下载内容如果下载失败那么就 执行括号中echo 和 exit 退出当前脚本命令; 如果下载成功那么就执行php composer-setup.php, 该命令成功就继续执行rm -r composer-setup.php, 如果失败那么rm -r composer-setup.php 和 echo "install oj8k"都不会被执行,然后执行下面的其他shell语句

附加: 有时候我们没有办法全部写在一句中, 那么$?获取都上一个命令的执行结果, 为此我们可以像如下做

这里是shell命令...

[ $? -eq 0 ] || (echo "上个命令执行失败,退出"; exit) && 继续其他命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值