Wednesday, 31 December 2008

BASH arithmetic

How to add using bash

type something as an int
typeset -i VARIABLE

Add something
VAR=$((${VARIABLE} + 1 ))

It is just that easy! Here's the quick reference for more useful bash stuff

And finally a sample script so I never have to write this again

[bm@nerdbox dir]$ cat test.sh
#!/bin/bash

TODAY=$(date +%Y%m%d)

BACKUP_FILE_MASK=/var/app/archive/services/services_${TODAY}
BACKUP_FILE=${BACKUP_FILE_MASK}.tar

typeset -i COUNTER=0

JAVA=/usr/java/jdk1.5.0_12/bin/java
UPDATER_JAR=~/service_updater/service_updater.jar
CONFIG_FILE=~/service_updater/service-updater-config-11_3.xml

[[ -e ${CONFIG_FILE} ]] || die "cannot find config file: ${CONFIG_FILE}"

while true ; do

if [[ -e ${BACKUP_FILE} ]] ; then
COUNTER=$(($COUNTER + 1))
BACKUP_FILE=${BACKUP_FILE_MASK}.${COUNTER}.tar
else
break
fi
done

echo BACKUP_FILE = ${BACKUP_FILE}