2013-03-19 17:45:41 +04:00

76 lines
1.7 KiB
Bash

#!/bin/bash
# Test if the named environment variable is set and not zero length
# is_set env-var
#function is_set() {
# local var=\$"$1"
# eval "[ -n \"$var\" ]" # For ex.: sh -c "[ -n \"$var\" ]" would be better, but several exercises depends on this
#}
# Prints "message" and exits
# die "message"
#function die() {
# local exitcode=$?
# if [ $exitcode == 0 ]; then
# exitcode=1
# fi
# set +o xtrace
# local msg="[ERROR] $0:$1 $2"
# echo $msg 1>&2;
# if [[ -n ${SCREEN_LOGDIR} ]]; then
# echo $msg >> "${SCREEN_LOGDIR}/error.log"
# fi
# exit $exitcode
#}
# Checks an environment variable is not set or has length 0 OR if the
# exit code is non-zero and prints "message" and exits
# NOTE: env-var is the variable name without a '$'
# die_if_not_set env-var "message"
function die_if_not_set() {
local exitcode=$?
set +o xtrace
local evar=$1; shift
if ! is_set $evar || [ $exitcode != 0 ]; then
if [[ -z "$1" ]] ; then
die "Env var '$evar' is not set!"
else
die $@
fi
fi
}
function restart_service {
while [[ -n "$1" ]] ; do
echo "Restarting service '$1' ..."
sudo service $1 restart
shift 1
done
}
# Normalize config values to True or False
# Accepts as False: 0 no false False FALSE
# Accepts as True: 1 yes true True TRUE
# VAR=$(trueorfalse default-value test-value)
#function trueorfalse() {
# local default=$1
# local testval=$2
#
# [[ -z "$testval" ]] && { echo "$default"; return; }
# [[ "0 no false False FALSE" =~ "$testval" ]] && { echo "False"; return; }
# [[ "1 yes true True TRUE" =~ "$testval" ]] && { echo "True"; return; }
# echo "$default"
#}