X-Git-Url: http://git.tuebingen.mpg.de/?p=gsu.git;a=blobdiff_plain;f=config;h=0f8bb596af8d1351c4c1d2d34d3190535cea24d6;hp=4e731afd84e344b5eee6ef61c7f26b345ca5a754;hb=4167cc8db6c44314335cffd9c1a80f6da7ae4a69;hpb=97803e0d2487ed9553a508257ce78145e60a409a diff --git a/config b/config index 4e731af..0f8bb59 100644 --- a/config +++ b/config @@ -6,7 +6,8 @@ # file. gsu_check_options() { - local i conf="${gsu_config_file:=${HOME:-}/.$gsu_name.rc}" val + local i conf="${gsu_config_file:=${HOME:-}/.$gsu_name.rc}" val orig_val + local name option_type default_value required description help_text for ((i=0; i < ${#gsu_options[@]}; i++)); do eval "${gsu_options[$i]}" @@ -17,9 +18,12 @@ gsu_check_options() [[ -r "$conf" ]] && source "$conf" for ((i=0; i < ${#gsu_options[@]}; i++)); do - local name= option_type= default_value= required= - local description= help_text= - local val orig_val + name= + option_type= + default_value= + required= + description= + help_text= eval "${gsu_options[$i]}" @@ -27,9 +31,7 @@ gsu_check_options() # only. Moreover it must start with [a-zA-Z]. ret=-$E_GSU_BAD_CONFIG_VAR result="name: '$name'" - # bash's =~ works only for 3.2 and newer, so use grep - echo "$name" | grep '^[a-zA-Z][a-zA-Z_0123456789]*$' &> /dev/null; - (($? != 0)) && return + [[ "$name" =~ ^[a-zA-Z][a-zA-Z_0123456789]*$ ]] || return eval orig_val='"'\$orig_${gsu_config_var_prefix}_$name'"' if [[ -z "$orig_val" ]]; then @@ -82,6 +84,6 @@ gsu_check_options_or_die() if [[ "$(type -t _gsu_setup)" != "function" ]]; then gsu_dir=${gsu_dir:-${BASH_SOURCE[0]%/*}} - . $gsu_dir/common || exit 1 + . "$gsu_dir/common" || exit 1 _gsu_setup fi