bash und indirect references
Hallo,
quaele mich mal gerade wieder mit indirekten Variablenreferenzen rum.
Folgendes Beispiel:
TIME=91852
HR="$(($TIME / 3600))"
MIN="$(( ($TIME % 3600) / 60 ))"
SEC="$(( ($TIME % 3600) % 60 ))"
Ich will jetzt fuer Werte von HR/MIN/SEC <10 eine 0 davorhaengen.
Koennte man zwar vielleicht innerhalb einer externen Funktion machen,
aber ich haette das eben gerne in einer Schleife. :-)
for i in HR MIN SEC; do
eval var=\$$i
echo "$i: $var"
Damit habe ich schon mal den Wert der jeweiligen Variabel gelesen.
Allerdings bekomme ich es nicht hin, ueber $i auch wieder HR/MIN/SEC zu
setzen.
eval \$$i="0$var"
resultiert in
bash: 25=025: command not found
und
eval \$i="0$var"
bringt leider auch nur
bash: HR=025: command not found
Und ohne eval will es auch nicht gehen. Funktioniert so etwas
ueberhaupt?
Schoenen Gruss,
Andreas
Reply to: