On Sun, Aug 28, 2005 at 08:06:08AM -0700, Sean Champ wrote:
> Package: cron
> Version: 3.0pl1-91
> Severity: important
> 
> 
> Hello,
> 
> I've been running a command like the following from within my user crontab.
> 
>   /sbin/ifconfig ppp0 &>/dev/null && fetchmail --slient
>   
> It worked fine, until I upgraded cron -- now using the Deb cron release with
> the libselinux1 dependency. 

What version did you upgrade from? Was it cron-3.0pl1-86? (the one in sarge)

> For example, the following crontab line results in "0" being emailed back to
> the user:
> 
>    */1 * * * *  /bin/false; echo "$?"

Yes, this is certainly the case. But cron has always done this to execute the
commands:

execle(shell, shell, "-c", e->cmd, (char *)0, jobenv);

Which means you are running: sh -c "false; echo $?"

Here's what I get running in different releases:
[sid - bash 3.0-15 ]
$ sh -c "false; echo $?"
0
[sarge - Version: 2.05b-26]
# sh -c "false; echo $?"
258
[woody - bash 2.05a-11]
#  sh -c "false; echo $?"
127

If I use dash (0.5.2-7) in sid:
$ dash -c "false; echo $?"
127

So it certainly looks like a bug in bash.

However, in all versions I've tried of bash: 'sh -c "false && echo yes"'
never returns 'yes' and 'sh -c "true && echo yes"' always does. So I don't
see how this has to do with your crontab issue. Could you please send the
exact line you were using (you said that the command line was "like" the one
you forwarded).

Regards

Javier

Attachment: signature.asc
Description: Digital signature

Reply via email to