Variables "xunges" en shell scripts
Doncs be, senyores i senyors, ja he trobat un momentet i he arreglat el
problema aquell que vaig comentar no fa gaire sobre les variables
"recursives" en shell scripts
Com? Doncs creo un nou fitxer de configuracio temporal pero sense les lines
corresponents a les variables que es donen per la linia de comandes (les que
es volen sobreescriure), i utilitzo aquest ultim fitxer per a treballar (li
faig un 'source')
El codi (les variables a sobreescriure estan totes en el primer parametre de
la funcio, en la forma "VAR1=val1,VAR2=val2,...":
#
# Load configuration
#
# TODO: multi-line variables are broken if overwritten on cmd line
#
function load_config
{
[ -f $CONFIG ] || error "Could not find config file $CONFIG"
RAND_CONFIG=/tmp/dscdbuilder.conf.$RANDOM
local VARS="FOO"
for i in `echo $1 | sed 's/\,/ /g'`; do
local VAR=`echo $i | cut -f 1 -d "="`
local VAL=`echo $i | cut -f 2 -d "="`
# donem el nou valor de la linia de comandes
export $VAR=$VAL
VARS="$VARS\|$VAR"
done
# creem el nou fitxer treient-li les variables que volem sobreescriu-re
# ($VARS)
cat $CONFIG | grep -v "\ *\($VARS\)\ *=" > $RAND_CONFIG
. $RAND_CONFIG
rm -f $RAND_CONFIG
}
Tal com diu el TODO, hi ha un punt que encara no esta, pero em fa molt de
pal fer-ho be... :P
Moltes gracies a tot*s per la vostra ajuda
apa!
--
+++ GMX DSL Premiumtarife 3 Monate gratis* + WLAN-Router 0,- EUR* +++
Clevere DSL-Nutzer wechseln jetzt zu GMX: http://www.gmx.net/de/go/dsl
Reply to: