Linux周期运行一个命令的脚本
2013-03-15 23:49
776 查看
在做测试的时候,有时候需要不断的运行一个命令或者脚本,下面的这个脚本可以实现这个目的。
使用方法:
usage: period.sh [options] <cmd> <args>
run command periodically.
options:
-c <count> : how many times.
-i <interval>: every <interval> seconds.
-h: show help
示例:
$ ./period.sh ls -l
$ ./period.sh -i 3 ls -l
使用方法:
usage: period.sh [options] <cmd> <args>
run command periodically.
options:
-c <count> : how many times.
-i <interval>: every <interval> seconds.
-h: show help
示例:
$ ./period.sh ls -l
$ ./period.sh -i 3 ls -l
#!/bin/sh PROG_NAME=period.sh INTERVAL=1 ALWAYS_LOOP=1 COUNT=-1 #------------------------- functions -------------------------------------------------- usage() { cat << END usage: $PROG_NAME [options] <cmd> <args> run command periodically. options: -c <count> : how many times. -i <interval>: every <interval> seconds. -h: show help END } run_cmd() { echo $ $* eval $* echo } #---------------------------- main() -------------------------------------------------- # get command line arguments while getopts "c:i:h" options; do case "$options" in c) COUNT=$OPTARG ;; i) INTERVAL=$OPTARG ;; h) usage; exit 0;; \?) usage; exit -1;; esac done shift $((OPTIND - 1)) if [ $# -lt 1 ]; then usage; exit 0; fi if [ $COUNT -ge 0 ]; then ALWAYS_LOOP=0 else COUNT=1 fi while [ $ALWAYS_LOOP -eq 1 ] || [ $COUNT -gt 0 ]; do echo "#$INDEX Date: `date +%Y-%m-%d_%H:%M:%S`" run_cmd $* INDEX=$((INDEX + 1)) COUNT=$((COUNT - 1)) sleep $INTERVAL done
相关文章推荐
- linux中$#、$?、$$[脚本运行时当前进程的id号]、$@、$*、$0、$1、$2、$-[上一个命令的最后一个参数]
- Linux定时运行命令脚本——crontab
- Linux执行shell脚本方式及区别&命令后台运行
- Linux执行shell脚本方式及区别&命令后台运行
- 【夸QT十一】外来物品:通用脚本帮助Web运行基础Linux命令
- Linux下Notepadqq配置Python脚本一键运行命令
- Linux for周期运行命令注意事项
- linux 使用 lockf命令防止脚本重复运行
- php 执行linux命令,shell脚本函数,获取服务器运行状态值
- Linux、UNIX设置开机自动运行命令、脚本配置
- python脚本内运行linux命令的方法
- 让一个脚本自动定时运行,设置、启动 linux定时脚本 (crontab详解)
- linux定时运行命令脚本——crontab
- linux 程序/脚本/命令后台运行
- python脚本内运行linux命令的方法
- linux 使用 lockf命令防止脚本重复运行
- linux定时运行命令脚本 (crontab详解)
- linux定时运行命令脚本——crontab
- 在fedora14装载的linux上,创建一个可运行的bash脚本文件
- Linux下创建脚本并用命令方式运行