首页 > 解决方案 > 如何从 Linux 中的 shell 脚本调用另一个 shell 脚本

问题描述

我正在尝试创建一个包装脚本以仅在早上 6 点触发父脚本。但它不能正常工作。它总是显示什么都不做,而其他部分正在循环而不退出。任何人都可以帮忙吗?

我想检查时间是否为早上 6 点,还需要检查文本文件中的字符串(状态)。如果两个条件都满足,我的父脚本应该通过这个包装脚本执行。

下面是脚本

路径= $(cat /home/avj/)
模式= $(cat /home/avj/status)

检查时间="060000"

echo $checktime
echo $currentTime
while true
do
currentTime= date +"%H%M%S"
if [[ $currentTime -eq $checktime && $status == running ]];
然后
sh &path/parent.sh
else
echo Do Nothing
fi
done

标签: linuxunix

解决方案


通常在 Linux 上,您使用 crontab 来执行此类调度任务。但是您必须指定“设置计时器”的时间 - 因此,如果您希望在文件本身中对其进行配置,则必须为此创建一些机制。

例如,您可以添加 crontab

30 1 * * 5 /path/to/script/script.sh

将在每周五凌晨 1:30 (AM) 执行脚本:

30 是分钟

1 是一个小时

接下来的 2 * 是月份和月份的日期(按此顺序),第 5 个是星期几


推荐阅读