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

这篇具有很好参考价值的文章主要介绍了【脚本】 【Linux】循环执行命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

loop.sh

#!/bin/bash

if [ "" = "$1" ]; then
    echo '用法: ./loop.sh 命令内容 时间间隔(毫秒) 循环次数(小于0表示无限循环)'
    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个参数必须为数字"
        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个参数必须为数字"
        exit 0
    fi
fi

echo "[`date +"%Y-%m-%d %H:%M:%S"`] 开始"
echo

if [ $count -gt 0 ]; then
    for((i=1;i<=$count;i++)); do
        echo "[`date +"%Y-%m-%d %H:%M:%S"`] 执行第[$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"`] 执行第[$i]次"
        bash -c "$1"
        sleep $interval
        i=$(expr $i + 1)
    done
fi

echo
echo "[`date +"%Y-%m-%d %H:%M:%S"`] 结束"

用法: ./loop.sh 命令内容 时间间隔(毫秒) 循环次数(小于0表示无限循环),当命令内容存在空格时,需要用双引号包含。
示例:文章来源地址https://www.toymoban.com/news/detail-732255.html

./loop.sh ls 1000 10
./loop.sh "ps -ef"

到了这里,关于【脚本】 【Linux】循环执行命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 之 shell脚本实现SFTP下载、上传文件、执行sftp命令

    需求方通过sftp不定时的上传一批用户(SBXDS_ACC_M_任务ID_yyyymmddHHMMSS.csv),需要我们从这些用户中找出满足条件的用户。然后把这些结果用户通过文件的形式上传到ftp。 ip1能连接hive库环境,不能连接sftp。 ip2不能连接hive库环境,能连接sftp。 ip1和ip2是共享盘,能同时访问公共目录

    2024年02月19日
    浏览(53)
  • linux下arm环境启动脚本/etc/init.d/rcS执行命令失败,踩坑记录

    记一次踩坑记录!!! 接触到一个新的系统,需要在这个系统上跑程序,测试的时候,手动执行脚本和程序都没问题,于是将执行命令写入到linux启动脚本/etc/init.d/rcS这个文件中,然后重启,等待程序起来,但是让我意想不到的是,执行到我加的命令的时候,居然报错,找不

    2024年01月21日
    浏览(30)
  • Linux shell编程学习笔记44:编写一个脚本,将md5sum命令执行结果保存到变量中,进而比较两个文件内容是否相同

    在  Linux shell编程学习笔记42:md5sum https://blog.csdn.net/Purpleendurer/article/details/137125672?spm=1001.2014.3001.5501 中,我们提到编写一个在Linux系统下比较两个文件内容是否相同的脚本。 基本思路是: 其中有两个难点: 1.文件的md5值的获取 2.md5值的比较 对于第1个难点,我们的解决办法是

    2024年04月10日
    浏览(56)
  • Linux实用运维脚本分享

    MySQL备份 目录备份 PING查询 磁盘IO检查 性能相关 进程相关 javadump.sh 常用工具安装 常用lib库安装 系统检查脚本 sed进阶

    2024年02月12日
    浏览(26)
  • 【Linux脚本篇】Linux循环语句-while

    目录 🍁while的语法格式 🍁while循环案例 🍃案例一:输出10-1的降序 🍃案例二:输出10的升序和降序 🍃案例三:批量创建用户 🍁内置跳出循环 🍃案例一:exit退出脚本 🍃案例二:break跳出本次循环 🍃案例三:continue结束本次循环    🦐博客主页:大虾好吃吗的博客    🦐

    2024年02月08日
    浏览(38)
  • linux进阶 --- 环境搭建、单一执行、循环执行

    操作环境  : 创建完虚拟机,安装命令行界面的linux操作系统(centos8,rocky8,rhel8) 为服务器配置白名单和安全组  :vim /etc/selinux/config,selinux=disabled (getenforce:查看selinux工作模式) 关闭防火墙  :systemctl  disable firewalld 网络设置  :在NAT模式下,配置至少一个可上网的静

    2024年02月08日
    浏览(32)
  • Linux(CentOS)运维脚本工具集合

    备份指定目录 查看CPU、磁盘、内存使用率 返回结果 显示基础信息-详细 查看进程pid,启动时间,持续执行时间 根据进程id查看工作目录 清除Linux系统占用缓存 查看端口是否使用 demo: 查看进程使用的端口 demo 查看端口所在进程 demo 查看目录下各目录占用空间以及最大文件或

    2024年02月12日
    浏览(38)
  • 【运维工程师学习三】Linux中Shell脚本编写

    Shell程序有很多, 如 Korn shell(ksh)、Bourne Again shell(bash)、C shell(包括csh与tcsh) 等等, 各主要操作系统下缺省的shell: AIX下是 Korn Shell Solaris缺省的是 Bourne shell FreeBSD缺省的是 C shell HP-UX缺省的是 POSIX shell Linux缺省的是 Bourne Again shell 但这种在命令行中的命令是即时输出结果的,不

    2024年02月11日
    浏览(57)
  • Linux中的shell脚本之流程控制&&循环遍历

    3 条件判断 4 流程控制语句 1)if 语句 案例,用户输入用户名和密码,判断用户名是否是admin,密码是否是123,如果正确,则显示登录成功 首先我创建了shell文件,touch getpawer 其中getpawer 是我自己命的名 效果展示如下: 2)case语句:用case语句匹配一个值与一个模式,如果匹配成

    2024年04月16日
    浏览(36)
  • Linux执行脚本有多种方式

    下面列举常用的几种方法。 1. 直接执行脚本文件 通过命令行进入到脚本文件所在的目录,然后直接输入脚本名字并回车即可。比如,我有个名为`test.sh`的脚本文件,要执行这个脚本,可以在终端输入以下命令:   2. 使用bash命令来执行脚本 如果脚本没有加可执行权限,可以

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包