已解决
【脚本】 【Linux】循环执行命令
来自网友在路上 156856提问 提问时间:2023-09-22 06:12:21阅读次数: 56
最佳答案 问答题库568位专家为你答疑解惑
loop.sh
#!/bin/bashif [ "" = "$1" ]; thenecho '用法: ./loop.sh 命令内容 时间间隔(毫秒) 循环次数(小于0表示无限循环)'echo '示例: ./loop.sh "ps -ef" 1000 10'exit 0
fiinterval=1000
if [ "" != "$2" ]; thenif echo "$2" | grep -q "^[0-9]*$"; theninterval=$2elseecho "第2个参数必须为数字"exit 0fi
fi
interval=$(echo "scale=3; $interval/1000" | bc)count=0
if [ "" != "$3" ]; thenif echo "$3" | grep -q "^[0-9]*$"; thencount=$3elseecho "第3个参数必须为数字"exit 0fi
fiecho "[`date +"%Y-%m-%d %H:%M:%S"`] 开始"
echoif [ $count -gt 0 ]; thenfor((i=1;i<=$count;i++)); doecho "[`date +"%Y-%m-%d %H:%M:%S"`] 执行第[$i]次"bash -c "$1"if [ $i -lt $count ]; thensleep $intervalfidone
elsei=1while truedoecho "[`date +"%Y-%m-%d %H:%M:%S"`] 执行第[$i]次"bash -c "$1"sleep $intervali=$(expr $i + 1)done
fiecho
echo "[`date +"%Y-%m-%d %H:%M:%S"`] 结束"
用法: ./loop.sh 命令内容 时间间隔(毫秒) 循环次数(小于0表示无限循环)
,当命令内容存在空格时,需要用双引号包含。
示例:
./loop.sh ls 1000 10
./loop.sh "ps -ef"
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"【脚本】 【Linux】循环执行命令":http://eshow365.cn/6-11239-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 前端-layui动态渲染表格行列与复杂表头合并
- 下一篇: 可视化大屏报表的设计与制作 | 附成果图