かまたま日記3

プログラミングメイン、たまに日常

シェルスクリプトで再実行するための関数

retry() {
  command="$@"
  local try_count=0
  local retry_limit=3
  local wait_seconds=300
  until sh -c "$command"; do
     [ $try_count -eq $retry_limit ] && return 1
     sleep $wait_seconds
     try_count=$(expr $try_count \+ 1)
  done
}

# example
retry ls -ltra hoge