解决手动运行shell命令成功,但在crontab中运行失败但问题

最近遇到了一个问题就是在终端中手动运行shell脚本成功但是在crontab中就会运行失败,检查之后,发现有两个主要原因

1.环境变量设置不对,cron默认使用的环境变量是PATH=/usr/bin:/bin
2.使用的shell不一样,cron默认使用的shell是/bin/sh

解决方法如下:
首先在命令行里敲

echo $PATH

然后把输出的内容加到你的shell脚本中:

export PATH="你之前输出的内容"

之后使用以下命令查看你的默认终端shell

cat /etc/passwd

比如,你当前的用户是ubuntu输出以下内容:

ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash

可以看到最后一列是/bin/bash
那么你就在自己脚本的开头加上:

#!bin/bash

之后应该就没问题了。

发布了77 篇原创文章 · 获赞 33 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/fjh1997/article/details/104709190