linux - 从 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。它也不会引发任何错误。
对此有任何帮助。
解决方案
如果是这样bash
,sh
或者ksh
您if
需要是这样的:
if [ -z "$VAR" ]
也VAR=""
不要取消设置 var(并-z
检查未设置的变量),它会分配空字符串。所以如果你想取消设置变量使用命令
unset VAR
并if
以fi
推荐阅读
- linkedin - LinkedIn 访问令牌 API:访问被拒绝访问令牌
- javascript - 在按钮单击时使用 jquery 调用角度方法
- drawing - 在NX中创建绘图代码,但显示结果
- opengl - 应用程序启动后网格定位错误(仅调整窗口大小可解决此问题)
- c - 如何为 CTest 定义 gcov 的位置?
- javascript - JS没有改变innerHTML
- c - 使用 copy_to_user() 将数据从内核复制到用户空间时出错
- node.js - Mongoose - 如果数组更新则推送
- reactjs - 动作必须是普通对象。当firebase auth.signOut()
- javascript - ctx.canvas.toBlob((blob) => { 在 for 循环中运行