OT Shell Script

Chris Knipe cknipe at hybyte.com
Tue Jun 21 10:05:25 GMT 2005


Call me stupid, I wasn't aware that [ is a command... ;)

Thanks,
Chris.

----- Original Message ----- 
From: "Alex Zbyslaw" <xfb52 at dial.pipex.com>
To: "Chris Knipe" <cknipe at hybyte.com>
Cc: <freebsd-questions at freebsd.org>
Sent: Tuesday, June 21, 2005 12:02 PM
Subject: Re: OT Shell Script


> Chris Knipe wrote:
>
>>May be a bit off topic, but I don't know any sh scripting lists that I'm 
>>subscribed to... :)
>>
>>If I run the script from shell / console, it runs without a problem.... 
>>Running it via cron, I get: [: 6: unexpected operator
>>
>>The script:
>>#!/bin/sh
>>HOSTNAME=`/usr/bin/uname -n`
>>SIZE=`/usr/bin/du /var/log/MYAPP/|/usr/bin/cut -c 1-7`
>>ROTATE="1024000"
>>if [ -e /tmp/.rotate ]; then
>>
> Maybe your path doesn't have [ in it.  Try
>
> if /bin/[  -e /tmp/.rotate ]; then
>
> or
>
> if /bin/test  -e /tmp/.rotate; then
>
> Same for all your other [ tests.
>
> Or just make sure that /bin is in your path at the top of the script. 
> It's often a good idea to set path explicitly for scripts, in case someone 
> who runs it has something weird in their path, like their own [ or test or 
> whatever.  I notice the rest of the commands all have absolute pathnames 
> avoiding the path issue, but I like setting the path anyway as it's really 
> easy to forget to use absolute pathnames since we are so used to the shell 
> finding things for us at the command line.
>
> --Alex
>
>
> --Alex
>
> 




More information about the freebsd-questions mailing list