美文网首页
通过crontab -e调用shell脚本的诡异问题

通过crontab -e调用shell脚本的诡异问题

作者: rekcah1986 | 来源:发表于2017-09-06 11:24 被阅读42次

写了一些shell脚本,测试也正常,放在crontab里定时调用,发现某些语句会调用失败,比如if、for、数组等等。

首先,需要排除路径的问题,crontab -e里是root权限调用,写成~是不识别的,需要写完整路径,有贴子说写在/etc/crontab里指定用户就好了。

其次,也是最狗血的,crontab -e方式默认使用的是sh解析,并不是bash,说是用了什么POSIX标准之类的,给我的感觉就是你按照百度上找来的教程来写脚本,在这种解释器下很可能是无法正常运行的……

解决方法1:
按照sh的脚本格式严格来写脚本,并使用sh xxx.sh来调用进行测试,但是学习成本太高,bash对我来说已经很复杂了,丫还不支持数组……

解决方法2:
crontab -e调用脚本前,加上bash命令,脚本不用改,顺利执行~~

解决方法3:
尽量不要用sh,改用python或lua之类的吧~

相关文章

网友评论

      本文标题:通过crontab -e调用shell脚本的诡异问题

      本文链接:https://www.haomeiwen.com/subject/qhvmjxtx.html