#! /bin/bash - # Implementing update functionality for an PSA. ############################################################################### # # UPDATE PSA # Usage: # update_psa [ --? ] # [ -m ] # [ --help ] # [ --wdir "working_directory" ] # [ --file "config_file" ] # [ --dbg ] # [ --version ] # # ./update_psa --file $PWD/update_psa.conf --wdir $PWD # ############################################################################### # if [ $# -eq 0 ]; then # no parameters given -> nothing to do # exit 0 #fi if [ -z $IFS ]; then IFS=$'\n' fi MAINTENANCE="NO" WORKING_DIRECTORY=${PWD} # parse commandline parameters while test $# -gt 0; do case $1 in --maintenance | -m ) MAINTENANCE="YES" ;; --file | --fil | --fi | --f | -file | -fil | -fi | -f ) shift CONFIGFILENAME="$1" ;; --zone | --zon | --zo | --z | -zone | -zon | -zo | -z ) shift ZONE="$1" ;; --wdir | --wdi | --wd | --w | -wdir | -wdi | -wd | -w ) shift if [ "$1" = "." ]; then WORKING_DIRECTORY="$PWD" else WORKING_DIRECTORY="$1" fi ;; --help | -hel | --he | --h | '--?' | -help | -hel | -he | -h | '-?' ) usage_and_exit 0 ;; --version | --versio | --versi | --vers | --ver | --ve | --v | \ -version | -versio | -versi | -vers | -ver | -ve | -v ) version exit 0 ;; --dbg | --db | --d | -dbg | -db | -d ) shift set_dbg_level $DEBUG ;; -*) error "Unrecognized option: $1" ;; *) break ;; esac shift done if [ -z "$WORKING_DIRECTORY" ]; then echo "WORKING_DIRECTORY empty. exiting..." exit 1 fi if [ ! -d "$WORKING_DIRECTORY" ]; then echo "WORKING_DIRECTORY $WORKING_DIRECTORY does not exist! exiting..." exit 1 fi cd "$WORKING_DIRECTORY" source ./update_psa_impl if read_config; then update_psa exit 0 fi exit 1 ###############################################################################