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

Linux 从cron中的另一个脚本运行sh脚本,linux,bash,shell,cron,Linux,Bash,Shell,Cron,我有两个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 VAR=“” 如果[-z$VAR]: 然后 回声“运行B” /B.sh>log.txt 2>&1 在中,A.sh被安排为cron作业,每15分钟在crontab中运行一次 我已经给了B.sh和

我有两个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
VAR=“”
如果[-z$VAR]:
然后
回声“运行B”
/B.sh>log.txt 2>&1
在中,A.sh被安排为cron作业,每15分钟在crontab中运行一次

我已经给了B.sh和A.sh执行所需的权限

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

敬请提供相关帮助。

谢邦已被遗忘

#!/bin/bash


如果这是
bash
sh
ksh
您的
If
需要如下:

if [ -z "$VAR" ]
另外,
VAR=”“
不要取消设置VAR(使用
-z
检查未设置变量),它会分配空字符串。所以,如果要取消设置变量,请使用命令

unset VAR

然后用
fi

结束
if
结构,尝试使用set-x模式运行脚本以获取更多信息?张贴您正在使用的确切代码,因为您的代码存在多个涉及
[
命令和指向
B.sh
的未指定路径。如果是相对路径,则问题可以通过从shell和
cron
运行
a.sh
时有效的工作目录之间的差异来解释。运行脚本,查看它发现了哪些问题。请显示相关代码并说明t完全错误。另请参阅。部分脚本和
没有帮助。可能存在重复的
unset VAR