From owner-freebsd-questions@FreeBSD.ORG Tue Jun 21 10:02:30 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6A48316A41C for ; Tue, 21 Jun 2005 10:02:30 +0000 (GMT) (envelope-from xfb52@dial.pipex.com) Received: from smtp-out2.blueyonder.co.uk (smtp-out2.blueyonder.co.uk [195.188.213.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id 086DB43D4C for ; Tue, 21 Jun 2005 10:02:29 +0000 (GMT) (envelope-from xfb52@dial.pipex.com) Received: from [82.41.37.55] ([82.41.37.55]) by smtp-out2.blueyonder.co.uk with Microsoft SMTPSVC(5.0.2195.6713); Tue, 21 Jun 2005 11:03:09 +0100 Message-ID: <42B7E5B3.3080706@dial.pipex.com> Date: Tue, 21 Jun 2005 11:02:27 +0100 From: Alex Zbyslaw User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-GB; rv:1.7.8) Gecko/20050530 X-Accept-Language: en, en-us, pl MIME-Version: 1.0 To: Chris Knipe References: <000601c57642$edfce460$1e01a8c0@pc2xp> In-Reply-To: <000601c57642$edfce460$1e01a8c0@pc2xp> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 21 Jun 2005 10:03:09.0468 (UTC) FILETIME=[6D6055C0:01C57648] Cc: freebsd-questions@freebsd.org Subject: Re: OT Shell Script X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jun 2005 10:02:30 -0000 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