首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Shell脚本:如果我从shell脚本调用另一个shell脚本,Crontab不会执行该脚本

Shell脚本是一种用于自动化任务和批处理的脚本语言,常用于Unix和Linux系统中。当一个Shell脚本调用另一个Shell脚本时,Crontab不会执行该脚本的原因可能有以下几点:

  1. 权限问题:首先要确保被调用的Shell脚本具有可执行权限。可以使用chmod命令给脚本添加执行权限,例如:chmod +x script.sh
  2. 路径问题:被调用的Shell脚本的路径可能没有正确设置。在调用脚本时,可以使用绝对路径或相对路径来指定被调用的脚本。如果使用相对路径,需要确保当前工作目录正确。
  3. 环境变量问题:被调用的Shell脚本中可能使用了某些环境变量,而这些环境变量在Crontab执行时可能没有正确设置。可以在调用脚本时,使用绝对路径来指定Shell解释器,例如:/bin/bash script.sh
  4. 日志记录问题:Crontab执行脚本时,可能没有正确设置输出日志的路径。可以在Crontab中使用重定向符号(>>>)将脚本的输出重定向到指定文件中,例如:* * * * * /bin/bash script.sh >> /path/to/logfile.log

总结起来,如果一个Shell脚本调用另一个Shell脚本后,Crontab没有执行该脚本,需要检查权限、路径、环境变量和日志记录等方面的设置,确保调用的脚本能够被正确执行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

shell脚本export变量只限脚本内么_shell脚本调用oracle存储过程

大家好,又见面了,是你们的朋友全栈君。...shell脚本中export命令未生效,原因详解 问题:有一个脚本脚本中有如下一条语句 export fdu=“dufan” 用sh运行脚本后,在当前shell利用命令env查看环境变量,但是却没有...此时,系统中将有两个shell,一个是登录时系统启动的shell另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行脚本之前的shell。...如果在一个shell脚本程序中定义了一个变量,当脚本程序运行时,这个定义的变量只是脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell(子shell)中被使用,...而soure执行脚本,linux将在当前shell进程进行脚本执行脚本执行结束后,环境变量生效。

1.2K60

Shell 脚本调用另一个 Shell 脚本的三种方式

提示:以下是介绍为什么写这篇文章: 如何再shell脚本调用其他脚本? 顺序调用会保证脚本的顺序执行吗?...一、在 Shell 脚本调用另一个 Shell 脚本的三种方式 先来说一下主要以下有几种方式: fork: 如果脚本执行权限的话,path/to/foo.sh。...1.2 exec exec 与 fork 不同,不需要新开一个子 Shell执行调用脚本. 被调用脚本与父脚本在同一个 Shell执行。...但是使用 exec 调用一个新脚本以后, 父脚本中 exec 行之后的内容就不会执行了。...方式相当于把两个脚本先合并再运行。 二. 等待.sh脚本仅在另一个脚本完成后才能运行? 2.1 &&连接器 只需使用&&连接器(即复合命令): ./script1.sh && .

2.5K10

利用nginx执行Shell 脚本

通过远程url调用shell 命令是很爽的事情,可以解决很多问题. 况且本文介绍的方法是非阻塞的, 也就是说可以很多并发调用,无论你的命令执行时间多久, 并不会导致web服务阻塞异常....并把收到的命令,传递给子进程执行,执行完毕后,把结果返回给客户端, 我们就让sockproc 侦测/tmp/shell.sock 的套接口有没有数据到来. 2 安装lua-resty-shell模块....cd lua-resty-shell cp lib/resty/shell.lua /southtv/openresty/lualib/resty/ 这是你的项目路径 3 创建自己的命令调用lua...脚本 vim /southtv/openresty/lualib/command.lua --名字起名为command.lua local shell = require "resty.shell..., out, err = shell.execute("ls", args) --ls 是想调用的命令, ngx.header.content_type = "text/plain" ngx.say(

4.6K30

Shell 脚本调用另一个 Shell 脚本的三种方式

调用 foo.sh 这个脚本,比如如果是 foo.sh 在当前目录下,就是 ....子 Shell 从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回父 Shell。 exec exec 与 fork 不同,不需要新开一个子 Shell执行调用脚本....被调用脚本与父脚本在同一个 Shell执行。但是使用 exec 调用一个新脚本以后, 父脚本中 exec 行之后的内容就不会执行了。...exec 在同一个 Shell执行,但是父脚本中 exec 行之后的内容就不会执行了 source 在同一个 Shell执行,在被调用脚本中声明的变量和环境变量, 都可以在主脚本中进行获取和使用...参考: 在shell脚本调用另一个脚本的三种不同方法(fork, exec, source)

4.2K20

shell脚本介绍,shell脚本结构和执行方式,date命令的用法,shell脚本中的变量简介

使用shell脚本的情况下,只需要把命令写进脚本文件里,然后再设置一个任务计划,让系统在凌晨3点时自动执行这个脚本文件,还不是美滋滋。...不过如果这个shell脚本是在本机执行的话,倒是可以省略掉:#!/bin/bash,因为能够识别本机的命令,但是如果到另一台机器就不一定能够执行了,所以文件的第一行才要写这样的声明。...Shell脚本的文件名称是以.sh为后缀,用于区分这是一个shell脚本shell中的注释符是井号“#”,和其他编程语言一样,注释的那一行内容不会被解释器执行,但是要注意区别“#!”...但是要注意的是,这只是检查脚本的语法错误,如果你系统命令写错了,是不会被检查到的。 20.3 date命令用法 ?...把一个日期转换成时间戳: date +%s -d "2017-09-06 06:52:16" 另一个与时间相关的命令:cal,cal命令可以显示日历: ? 20.4 shell脚本中的变量 ?

2.5K60

shell脚本常用命令及操作_shell脚本执行命令

「启动应用」 adb shell am start -W -n com.xxx.android/.view.WelcomeActivity -S 「列出当前已连接的设备」 adb devices -l...例:(SERIAL的值为adb devices -l 输出的值) adb -s 7d97e1fa shell 「屏幕截图」 adb shell screencap /sdcard/screen.png...以下命令使用 gfxinfo 收集指定软件包名称的界面性能数据: adb shell dumpsys gfxinfo package-name 输出最近帧性能信息 adb shell dumpsys gfxinfo...「检查电池诊断信息」 batterystats 服务会生成关于设备电池用量的统计数据 adb shell dumpsys batterystats options options列表 option 简介...生成签入报告的输出 -c 以签入格式写入当前统计信息 –proto 以 proto 格式写入当前的汇总统计信息(没有历史记录) –history 只显示历史数据 –history-start 仅显示给定时间偏移量开始的历史数据

1.3K20

Shell脚本调用Python程序

写这个脚本的大哥图啥?     ...现在的重点就是要在看门狗这个shell脚本里添加一句命令,这个命令要启动AutoMail.py这个脚本,同时还要传导出看门狗负责的模块名,这里又涉及到了在python的启动命令里添加shell变量的“难点...举个例子吧,假设有一个脚本叫111.py,里面的内容如下: ? 当我启动这个脚本并在启动的同时传入参数的时候,输出是这样的: ?...借用这个特性,就可以实现上面的要求了,我们可以把邮件的标题和正文当作两个参数随着启动AutoMail.py的语句一起执行,于是把整个AutoMail.py的内容更改如下: import sys from...因为虽然命令是启动python程序,但是命令本身是shell的语句啊,所以shell的语句当然可以识别shell的变量了~~~

1.5K10

使用shell并行执行多个脚本

https://blog.csdn.net/wzy0623/article/details/53906996 有没有一种比较通用的并行执行多个SQL脚本的方法呢?...如果需要,还可以在抽取后使用操作系统命令将12个文件合并起来(如Linux的cat命令)。即使订单表没有分区,仍然可以基于逻辑条件执行并行抽取。...脚本,可以从命令行接收并行度参数,使这些调用并行执行。...等到循环里面的命令都结束之后才执行接下来的date命令。用这个示例说明并行执行多个SQL脚本文件(这里多次执行同一个文件a.sql,当然实际中应该是多个不同的SQL文件)。...mytable表有57606行记录,如果执行两次,文件中应该有115212行记录。 [oracle@data-01 ~]$ ./a.sh 2 ...

3.2K10
领券