在shell脚本中找不到date命令

时间:2019-10-15 06:06:08

标签: sh

我的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"和参数之间是否没有空格。 请问任何关于此错误的解释。 谢谢。

=

2 个答案:

答案 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`