Crontab 无法正确读取 PATH 环境变量的解决办法

2016-09-13 15:00:47 +08:00
 thiswind

运行这一句:

curl -L https://git.io/vigfN | bash

参考 braker-scripts/working-scripts/add_current_shell_and_path_to_crontab.sh

3265 次点击
所在节点    Python
13 条回复
doyel
2016-09-13 15:08:51 +08:00
反正知道这毛病我所有 crontab 都直接写绝对路径。。
thiswind
2016-09-13 15:18:05 +08:00
@doyel 绝对路径也木有用,因为它根本就不读 PATH 变量,环境变量全部都读不到。恩,不过一般很少会有需求会碰到这个坑
doyel
2016-09-13 15:22:36 +08:00
那倒是,碰到取环境变量就抓瞎了
thiswind
2016-09-13 15:27:41 +08:00
@doyel 直接执行那句话就行了,包治百病。。。不放心的话可以看源码,就是一个 bash 脚本, github 上 fork 的,亲测有效
ivanfjz
2016-09-13 15:27:47 +08:00
ubuntu 读环境变量的。 centos 不读
lizheming
2016-09-13 15:32:34 +08:00
vim /etc/crontab
service crontab restart
试试... 不过保险起见还是写绝对路径吧...=。=||
walkman660
2016-09-13 16:02:39 +08:00
不自动那就自己加载环境变量
source /etc/profile
cxbig
2016-09-13 16:03:52 +08:00
求稳妥,所有命令和文件用绝对路径,环境变量直接先赋值,如果比较多就放文件里提前 source 一下
kikoroc
2016-09-13 16:13:32 +08:00
赞同 @cxbig 的说法。
skydiver
2016-09-13 16:23:26 +08:00
自己把 PATH 写到 crontab 里就行了。
这脚本干的一样的事儿
thiswind
2016-09-13 16:26:27 +08:00
@skydiver 恩,这个脚本就是干这个事情:)
这个脚本的目的是用短域名,这样方便用手机拍照,也方便在机房手工敲
手动写 PATH 一不小心容易错
skydiver
2016-09-13 16:29:07 +08:00
@thiswind echo PATH=$PATH 然后复制粘贴就行了

在线上机器运行来源不明的脚本是大忌
dreamtrail
2016-09-14 12:37:35 +08:00
第一行加上 PATH=/usr/local/bin:/bin:/usr/bin:/usr/sbin:/sbin 就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305951

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX