首页 > 解决方案 > 从 cron 中的另一个脚本运行 sh 脚本

问题描述

我有 2 个 shell 脚本 A.sh 和 B.sh

在 A.sh 中,我想根据某些条件调用 B.sh。如下所示:

VAR=""
if [-z $VAR]:
then
    echo "running B"
    <path to B.sh>/B.sh > log.txt 2>&1

A.sh 被安排为一个 cron 作业,在 crontab 中每 15 分钟运行一次。

我已授予 B.sh 和 A.sh 执行所需的权限。

当我从 shell 运行 A 时,如果满足条件,它可以执行 B,但是当通过 crontab 运行时,A 无法调用 B。它也不会引发任何错误。

对此有任何帮助。

标签: linuxbashshellcron

解决方案


如果是这样bashsh或者kshif需要是这样的:

if [ -z "$VAR" ]

VAR=""不要取消设置 var(并-z检查未设置的变量),它会分配空字符串。所以如果你想取消设置变量使用命令

unset VAR

iffi


推荐阅读