2015-08-19 55 views
0

非常简单,但没有工作。路径没有设置。路径没有从crontab设置

的crontab:

* * * * * source /home/inst1/.profile; /home/inst1/Scripts/test.sh > /home/inst1/Scripts/test.log 2>&1 

.profile文件:

[..whatever..] 
PATH=/tmp 

export PATH 

test.sh:

#!/usr/bin/bash 

echo $PATH 

猫test.log中给了我:

/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java5/jre/bin:/usr/java5/bin 

我想它与AIX环境有关,但我不知道 - 看起来很简单,但我在某处丢失了某些东西。

回答

0

试试这个:

* * * * * bash -c "source /home/inst1/.profile; /home/inst1/Scripts/test.sh" > /home/inst1/Scripts/test.log 2>&1 
+0

谢谢。你能解释解决方案和尊重(为什么以我的方式它不工作)..? – Nir

+0

那么'sh'中的'source'等价于什么? – Nir

+0

我的错误。 'sh'知道命令'source'。 – Cyrus

0

cron默认使用/bin/sh,而source不是POSIX shell命令。您需要使用.代替:

* * * * * . /home/inst1/.profile; /home/inst1/Scripts/test.sh > /home/inst1/Scripts/test.log 2>&1