重複執行命令的指令碼

2021-07-02 20:26:56 字數 592 閱讀 4118

工作過程中,為了監控狀態,經常要不斷地重複執行某個命令,因此寫了個指令碼來簡化操作

#! /bin/bash

# filename:redo.sh

#usage: redo.sh [-d delaytime] [-c count] command

#預設間隔時間為15s,無限迴圈執行

delay=15

count=-1

while getopts d:c: option

do    case $option in

d) delay=$optarg

;;c) count=$optarg

;;esac

done

shift $(expr $optind - 1)

i=0while [ $i -ne $count ]

do    clear

echo "command:" $@

echo "count:" $i

echo "delay:" $delay

eval $@

i=$(expr $i + 1)

sleep $delay

done

防止shell指令碼重複執行

利用鎖機制,讓乙個特定的shell指令碼,每次只能執行乙個例項。具體來說,獲得鎖的指令碼例項,能夠繼續往下執行臨界區 沒有獲得鎖的例項,則只能等待。例如,要求指令碼只能順序訪問某個資源,例如磁碟檔案等,就可以參考下面的實現。bin bash file locking using bash.ver 0...

Shell指令碼避免重複執行的方法

很多用cron定時執行的shell指令碼可能會由於各種原因執行很久,會有必要在執行的時候先檢查一下自身是否還在執行。本文提供的linux shell指令碼用以檢查以命令sh 來執行的shell指令碼。要對其他東西進行唯一性檢查,可以稍微修改一下源 複製 如下 檢查通過sh命令執行的shell指令碼是...

linux命令之 repeat 重複執行命令

linux下有時候執行需要持續性測試一天執行命令,可以使用repeat重複執行該命令 進入 bashrc 中編輯乙個函式function repeat 加入內容如下 vim bashrc function repeat 退出後 source bashrc repeat n command 如果想讓每...