PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : shell script will nicht



n0n4m3
02-07-2005, 01:44
echo "$#"
zahler=1
while [ "$#" -gt "$((zahler-1))" ]
do
alles="$""$zahler"
echo "$alles"
zahler=$((zahler+1))
done


sollte selbsterklärend sein (vorallendingen weil es eigentlich garkeine funktion hat aber es läuft trotzdem nicht richtig) falls es nicht selsterklärend ist. ich will beim aufruf des shellscriptes einfach ein paar variablen mitgeben die er auch schon wunderschön einliest, jetzt will ich sie aber auch wieder ausgeben, obwohl ich natürlcih nicht wissen kann wieviele variablen eingelesen wurden.

-------------EDIT----------------

hab gerade selbst erkannt wie dumm ich bin und doch mal lieber ne for schleife genommen ;)

netlinker
07-07-2005, 21:57
Try this,



#!/usr/local/bin/bash

echo "Anzahl der uebergabe Varis $#"
zahler=1
while [ "$#" -ge "$((zahler))" ]
do
vari_wert=$(eval echo "\$$zahler")
echo "Vari Nr. $zahler $vari_wert"
zahler=$((zahler+1))
done
exit 0

Mit ge sparste ne Berechnung, und mit eval \$$zahler bekommst du den Wert der Vari.

Kannst natürlich auch die Zeile
vari_wert=$(eval echo "\$$zahler")

weglassen und direkt
eval echo "Vari Nr. $zahler \$$zahler"
nehmen


MfG
Björn