我的shell脚本backup.sh如下所示,当我执行此脚本时,出现错误select ch.id
, ch.checkname
, t1.CheckDate
, ch.SeverityNumber
, md.CheckRef1
, md.CheckSubject
, datediff(from_unixtime(ch.CheckDate),CURDATE()) as dateFromalarm
from
(select checkname, max(CheckDate)as CheckDate from checks where CheckDate <=1569785343 group by checkname) as t1
join checks ch on ch.checkname = t1.checkname
join model md on md.CheckName=ch.CheckName
where ch.SysName='MV3R'
and ch.environment='Z/OS'
order by ch.CheckName desc;
。我检查了"date: command not found"
和参数之间是否没有空格。
请问任何关于此错误的解释。
谢谢。
=
答案 0 :(得分:0)
如果命令不在$PATH
中的目录中,则Shell无法找到命令。快速修复:将date
替换为/bin/date
。但是,在conf.sh或backup.sh中可能会发生类似的问题,因此更全局的解决方案是在脚本的开头回显“ $ PATH”,找出缺失的内容并进行修复,例如{{1 }}。
答案 1 :(得分:0)
最好的方法是使用名为 command -v
的 bash/shell 命令来动态检查您的日期路径。
DATE_BIN=$(command -v date)
DATE=`${DATE_BIN} +%y-%m-%d--%H:%M:%S`