diff options
author | Dieter Plaetinck <dieter@plaetinck.be> | 2008-11-10 13:54:39 +0100 |
---|---|---|
committer | Dieter Plaetinck <dieter@plaetinck.be> | 2008-11-10 13:54:39 +0100 |
commit | 2b0d36b249a7d3c0daefef18468c052b969c61fd (patch) | |
tree | 5e2010520285b857ba74c4b2b594ba757c0dc687 /src/fifa.sh | |
parent | 1bc04b995a0ad2ae1bcaf1c8147842bbec2f5d45 (diff) |
temporary woraround for broken array indirection
Diffstat (limited to 'src/fifa.sh')
-rwxr-xr-x | src/fifa.sh | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/fifa.sh b/src/fifa.sh index c8bb712..1664b3c 100755 --- a/src/fifa.sh +++ b/src/fifa.sh @@ -131,15 +131,21 @@ execute () log "******* Executing phase $2" exit_var=exit_$object read $exit_var <<< 0 - debug "\$1: $1, \$2: $2, \$object: $object, \$exit_$object: $exit_object" - debug "declare: `declare | grep -e "^${object}=" | cut -d"=" -f 2-`" - + # TODO: for some reason the hack below does not work (tested in virtualbox), even though it really should. Someday I must get indirect array variables working and clean this up... + # debug "\$1: $1, \$2: $2, \$object: $object, \$exit_$object: $exit_object" + # debug "declare: `declare | grep -e "^${object}=" | cut -d"=" -f 2-`" # props to jedinerd at #bash for this hack. - eval phase=$(declare | grep -e "^${object}=" | cut -d"=" -f 2-) - debug "\$phase: $phase - ${phase[@]}" + # eval phase=$(declare | grep -e "^${object}=" | cut -d"=" -f 2-) + #debug "\$phase: $phase - ${phase[@]}" + unset phase + [ "$2" = preparation ] && phase=( "${phase_preparation[@]}" ) + [ "$2" = basics ] && phase=( "${phase_basics[@]}" ) + [ "$2" = system ] && phase=( "${phase_system[@]}" ) + [ "$2" = finish ] && phase=( "${phase_finish[@]}" ) # worker_str contains the name of the worker and optionally any arguments for worker_str in "${phase[@]}" do + debug "Loop iteration. \$worker_str: $worker_str" execute worker $worker_str || read $exit_var <<< $? # assign last failing exit code to exit_phase_<phasename>, if any. done ret=${!exit_var} |