[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: