Subject: Re: Backup script not working properly
From: Robin Bowes <[email-masked]>
To: [email-masked]
Date: Wed, 13 Oct 2004 22:49:25 +0100

Brian Dessent wrote:
> Fredrik Persson wrote:
> 
> 
>>All works but for the last for-loop which is responsible for deleting old
>>backups such that only NUMBKPS=4 of the last backups are stored.
>>
>>The problem is in 'if [ ${num} -le 0 ]' and 'else num=$((${num}-1))'. It seems
>>like the num-variable can't be used as an integer. Any suggestions how to fix
>>this???
> 
> 
> On Linux, /bin/sh is /bin/bash.  This is not the case on Cygwin and
> other *nixs.  The "$((...))" thing is a bash feature/extension I think,
> and not found in the standard Bourne shell.  Try using the expr command
> instead to do math, or change the shebang to call bash explicitly.

Indeed.

man bash
/Arithmetic Expansion

  Arithmetic expansion allows the evaluation of an arithmetic  expression
  and  the  substitution of the result.  The format for arithmetic expan-
  sion is:

        $((expression))

  The expression is treated as if it were within  double  quotes,  but  a
  double  quote  inside  the  parentheses  is not treated specially.  All
  tokens in the expression undergo parameter expansion, string expansion,
  command  substitution, and quote removal.  Arithmetic substitutions may
  be nested.

  The evaluation is performed according to the rules listed  below  under
  ARITHMETIC EVALUATION.  If expression is invalid, bash prints a message
  indicating failure and no substitution occurs.

R.
-- 
http://robinbowes.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/