从cron中的另一个脚本运行sh脚本

时间:2019-02-02 16:51:52

标签: linux bash shell cron

我有2个壳脚本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授予了执行所需的权限。

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

任何有关这帮助是appriciated。

2 个答案:

答案 0 :(得分:0)

Shebang忘记了!?

#!/bin/bash

#!/usr/bin/env bash

答案 1 :(得分:0)

如果这是bashshksh的{​​{1}}需要是这样的:

if

此外if [ -z "$VAR" ] 不取消设置了var(并用VAR=""您检查未设置变量),其分配空字符串。所以,如果你想取消设置变量使用命令

-z

并以unset VAR 结束if结构