shell脚本命令超时及错误循环执行

有进阶封装,往下看

#!/bin/bash
curl_install(){
timeout 2 bash -c 'sleep 40'
if [ $? == 124 ];then
  for (( i = 0; i < 10; i++ )); do
  	echo $i
      if (( $i == 3)); then
          return 1
      fi
  done
  curl_install
fi
}
curl_install
while [ $? -ne 0 ];do
  for (( i = 0; i < 10; i++ )); do
      if (( $i == 3)); then
          exit 1
      fi
  done
	  curl_install
done

封装

#!/bin/bash

erro_exit(){
	curl_install $1 $2
	curl_install(){
	# 超时处理
	timeout 2 bash -c "$1 $2"
	if [ $? == 124 ];then
	  for (( i = 0; i < 10; i++ )); do
	  	echo $i
	      if (( $i == 3)); then
	          return 1
	      fi
	  done
	  curl_install 
	fi
	}
	# 错误处理
	while [ $? -ne 0 ];do
	  for (( i = 0; i < 10; i++ )); do
	      if (( $i == 3)); then
	          exit 1
	      fi
	  done
		  curl_install
	done
}

curl_test(){
# 传递两个参数
	erro_exit sleep 30
}
curl_test
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值