shell 脚本 失败自动重复执行

在我们通过terminal 与linux系统交互的时候,经常会用到一些命令。然而有些命令是耗时操作的,比如我要举例的同步下载命令。我们不可能几个小时守在电脑旁边等着命令执行结束再进行一些操作。更可恨的是,命令有可能执行失败,这时候需要重新执行。我们需要一个能够接收到上一次命令的结果,然后根据结果做相应的处理,比如重新开始命令等等。
代码如下

#!/bin/bash
repo sync
echo "======sync starting======"
while(($? == 1))
do
sleep 3
du -sh >> abc.txt
echo "======sync failed,re sync starting====="
repo sync
done

这段代码里面开头 #! /bin/bash为指定脚本执行的解释器,靠哪种shell解释器去执行本shell脚本。
repo sync 为下载脚本,如果他执行错误,那么$?就读取到1,所以就进入一个循环,
du -sh >> abc.txt 这段代码就是写入当前文件夹的总容量数据到 abc.txt 这个文件要事先建立好。
然后再次执行 repo sync 直到他正常结束命令为止。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值