shell使用sleep参数调用另一个脚本的脚本

时间:2015-08-11 14:25:22

标签: shell

请求以下帮助。我需要每60秒/ 5分钟/ 10分钟调用各种shell脚本。基本上,我需要创建一个主包装器脚本,它将以适当的时间间隔调用各种脚本。

例如,脚本A是主包装器,每隔1,5,10,15分钟调用脚本B,C,D,E等。脚本A应该有两个参数(脚本名称和休眠时间),并且应该能够调用作为参数传递的脚本以及参数中提到的休眠时间。

2 个答案:

答案 0 :(得分:0)

所以,A是永远循环,在循环内部,它调用后台的其他脚本,然后睡觉,启动新的后台进程等等?如果这真的是你正在寻找的东西(写一个循环,睡觉,调用另一个脚本),也许你可以解释一下,你究竟遇到了什么问题。

也许您也可以向我们展示您已实施的内容。这将使讨论问题变得更容易。

更新:

查看脚本草图:

您必须先决定如何将参数传递给脚本。更常见的方法是使用位置参数。另一种可能性是使用环境变量。

在前一种情况下,您将使用$ 1和$ 2来访问第一个和第二个参数。然后会像下面这样调用您的脚本:

your_script ProgramToBeExecuted 5 

在后一种情况下,您必须决定环境变量的名称 - 例如,NAME和SLEEP,如您的示例中所示 - 但您必须通过$ NAME而不是NAME访问变量的内容。 " NAME"本身只是一个字符串。您的脚本 - 假设您使用ksh(如您的示例所示) - 然后将像这样调用

NAME=ProgramToBeExecuted SLEEP=5 your_script

答案 1 :(得分:0)

我创建了一个脚本

while [ 1 ]; do
ksh -x NAME
sleep SLEEP TIME
done

并将脚本名称和休眠时间作为参数传递。所以基本上这个脚本会调用另一个脚本并再次进入休眠状态。