loop.sh文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-732255.html
#!/bin/bash
if [ "" = "$1" ]; then
echo '用法: ./loop.sh 命令內(nèi)容 時(shí)間間隔(毫秒) 循環(huán)次數(shù)(小于0表示無(wú)限循環(huán))'
echo '示例: ./loop.sh "ps -ef" 1000 10'
exit 0
fi
interval=1000
if [ "" != "$2" ]; then
if echo "$2" | grep -q "^[0-9]*$"; then
interval=$2
else
echo "第2個(gè)參數(shù)必須為數(shù)字"
exit 0
fi
fi
interval=$(echo "scale=3; $interval/1000" | bc)
count=0
if [ "" != "$3" ]; then
if echo "$3" | grep -q "^[0-9]*$"; then
count=$3
else
echo "第3個(gè)參數(shù)必須為數(shù)字"
exit 0
fi
fi
echo "[`date +"%Y-%m-%d %H:%M:%S"`] 開(kāi)始"
echo
if [ $count -gt 0 ]; then
for((i=1;i<=$count;i++)); do
echo "[`date +"%Y-%m-%d %H:%M:%S"`] 執(zhí)行第[$i]次"
bash -c "$1"
if [ $i -lt $count ]; then
sleep $interval
fi
done
else
i=1
while true
do
echo "[`date +"%Y-%m-%d %H:%M:%S"`] 執(zhí)行第[$i]次"
bash -c "$1"
sleep $interval
i=$(expr $i + 1)
done
fi
echo
echo "[`date +"%Y-%m-%d %H:%M:%S"`] 結(jié)束"
用法: ./loop.sh 命令內(nèi)容 時(shí)間間隔(毫秒) 循環(huán)次數(shù)(小于0表示無(wú)限循環(huán))
,當(dāng)命令內(nèi)容存在空格時(shí),需要用雙引號(hào)包含。
示例:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-732255.html
./loop.sh ls 1000 10
./loop.sh "ps -ef"
到了這里,關(guān)于【腳本】 【Linux】循環(huán)執(zhí)行命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!