AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

sh/bash/dash/ksh/zsh等Shell脚本
回复
lennoney
帖子: 49
注册时间: 2007-02-26 19:59

AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

#1

帖子 lennoney » 2012-04-09 9:04

同一脚本,直接运行没问题,但放在cron里自动运行时,找不到PATH,我比较土点的解决办法是在脚本开始时先运行下我的.profile,把环境变量的设置都弄上去,有没有高手有更优雅点的解决方法。

Linux+bash没这问题。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

#2

帖子 eexpress » 2012-04-09 9:34

cron内部可以设置路径和自己的环境变量。

cron和bash可以不相干。

SHELL=/bin/bash
HOME=/
PATH=/usr/local/sbin:/usr/local/bin:/home/user1/bin
MAILTO=[email protected],[email protected]
0 2 1-10 * * du -h --max-depth=1 /
● 鸣学
lennoney
帖子: 49
注册时间: 2007-02-26 19:59

Re: AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

#3

帖子 lennoney » 2012-04-09 9:44

没明白您是什么意思?cron在哪设置自己的环境变量?不过我不想冗余的又设置一遍同样的环境变量
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

#4

帖子 lilydjwg » 2012-04-09 12:37

找不到 PATH 是什么意思?
lennoney
帖子: 49
注册时间: 2007-02-26 19:59

Re: AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

#5

帖子 lennoney » 2012-04-10 16:31

就是我要运行的命令路径包含在PATH变量中的某个路径中,但在cron里运行时PATH变量有我直接运行脚本时的PATH变量不同
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

#6

帖子 lilydjwg » 2012-04-10 16:58

lennoney 写了:就是我要运行的命令路径包含在PATH变量中的某个路径中,但在cron里运行时PATH变量有我直接运行脚本时的PATH变量不同
那就写绝对路径吧。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: AIX+ksh,cron运行shell和直接运行shell的环境变量不同,求个优雅的解决方法

#7

帖子 aerofox » 2012-04-10 17:49

把 .profile 中那些与你的脚本有关的环境变量设置语句 copy 到脚本的开头。
回复