#!@BASH@ # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*- # vim: set filetype=sh sw=3 sts=3 expandtab autoindent: # This file contains functions shared between ninjahelper and backupninja. ##################################################### ## MISC FUNCTIONS # # create a temporary file in a secure way. # function maketemp() { local tempfile=`mktemp /tmp/$1.XXXXXXXX` echo $tempfile } ##################################################### ## CONFIG-FILE RELATED FUNCTIONS function setfile() { CURRENT_CONF_FILE=$1 } function setsection() { CURRENT_SECTION=$1 } # # Retrieves the configuration variable named $1 from the current config # file and section and echoes its value. If it is empty or not found, $2 # is used. function printconf() { CURRENT_PARAM=$1 ret=`@AWK@ -f $libdirectory/parseini S=$CURRENT_SECTION P=$CURRENT_PARAM $CURRENT_CONF_FILE` # if nothing is returned, set the default if [ "$ret" == "" -a "$2" != "" ]; then ret="$2" fi echo "$ret" } # # Retrieves the configuration variable named $1 from the current config # file and section and assigns its value to the global variable with the # same name. If it is empty or not found, $2 is used. # function getconf() { ret=`printconf "$1" "$2"` # We use escape the $ in $ret to delay expansion of $ret, so when $1 # is foo, eval sees foo=$ret and properly does the assignment # (without the backslash, the right part of the assignment would be # whatever is in ret and be subject to all kinds of expansion. eval $1=\$ret }