当前位置: 首页 > news >正文

【脚本】 【Linux】循环执行命令

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"
http://www.lryc.cn/news/172302.html

相关文章:

  • 快速用Python进行数据分析技巧详解
  • BD就业复习第二天
  • 大数据Flink(八十五):Window TVF 支持多维数据分析
  • css-边框原理教程
  • 【数据结构】时间、空间复杂度
  • Databend 开源周报第 111 期
  • iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
  • vue3 - Vue 项目处理GitHub Pages 部署后 _plugin-vue_export-helper.js 404
  • 一百八十一、Hive——海豚调度HiveSQL任务时当Hive的计算引擎是mr或spark时脚本的区别(踩坑,附截图)
  • Linux 隔离网段下端口转发
  • 【CDN和UDN】CDN和UDN技术特点以及使用场景
  • 【Linux】改变缓存路径、清理缓存
  • python+opencv寻找图片或视频中颜色进行追踪之HSV颜色处理
  • ubuntu 22.04 服务器网卡无IP地址
  • 基于SpringBoot的网上点餐系统
  • 浅谈xss
  • 悬崖边:企业如何应对网络安全漏洞趋势
  • MyBatis 动态 SQL、MyBatis 标签、MyBatis关联查询
  • 在Vue中使用Immutable.js
  • 基于Yolov8的工业端面小目标计数检测(1)
  • 1.什么是jwt?jwt的作用是什么?2.jwt的三个部分是什么?三者之间的关系如何?3.JWT运行的流程是什么
  • 十三、MySql的视图
  • MFC扩展库BCGControlBar Pro v33.6亮点 - 流程图、Ribbon Bar功能升级
  • 前端 JS 经典:文件流下载
  • SSL免费证书会报安全提示吗?
  • 为什么要选择Spring cloud Sentinel
  • 第八天:gec6818arm开发板和Ubuntu中安装并且编译移植mysql驱动连接QT执行程序
  • 使用JavaScript实现图片的自动轮播
  • React 如何拿时间戳计算得到开始和结束时间戳
  • leetcode114 二叉树展开为链表