blob: 5dee9746a123cf331569f78a1af8f9f31ca34f9f [file] [log] [blame]
#!/bin/bash
# This script is used to execute some checking commands in period to confirm whether specific requirement is satisfied.
# $1 - the command to be executed in this script, whose parameter splitter is +, but ont space. This command could use |, &&, || to concatenate multiple shell commands.
# $2 - Optional. If exists, it means the output (Note: not returned value) of $1 should equals $2.
cmd=${1//'+'/' '}
if [ $# == 1 ]; then
for i in {1..60}; do
eval ${cmd}
rtn=$?
if [[ ${rtn} -ne 0 ]]
then
echo "$i-th execution returns $rtn"
sleep 3
else
exit 0
fi
done
elif [ $# == 2 ]; then
for i in {1..60}; do
out=`eval ${cmd}`
rtn=$?
out="${out// /}"
if [[ ${rtn} -ne 0 || "$out" != $2 ]]; then
echo "$i-th execution fails"
sleep 3
else
exit 0
fi
done
fi