Bash script frage
-
Hallo,
hab folgendes \1:
for ((i=$#;i>0;i--)); do ...; done
Im do-Teil möcht ich jetzt den i-ten Parameter des scripts ausgeben (also $1,$2,$3,..., je nach i).
Ich habs mit allem Möglichen versucht, z.B. 'echo i0)' oder 'echo $$i0' oder 'echo {i0}' und anderes...
Also, jetzt meine Frage: Wie mach ich das?
ciao
-
$i bzw. ${i}
?
MfG SideWinder
-
ne ich möchte nicht die variable i ausgeben, sondern die variable $1,$2,... abhängig von i.
also wenn i=1, dann die VARIABLE $1
wenn i=2, dann die Variable $2
usw.mit den $1,2,3... Variablen erhält man ja die Parameter die dem script übergeben wurden. die will ich nacheinander ausgeben.
Bsp:
echo $1, falls i=1,
echo $2, falls i=2,
echo $3, falls i=3
usw.ich hoff ich habs jetzt gut erklärt
-
generell ginge das mit eval:
eval echo \$$i
Für die Kommandozeilen-Parameter in einem Script gibts aber ein Array.
Hab nur vergessen wie man darauf zugreift...
-
öhm, vielleicht hilft dir das
for arg in "$@"; do echo "$arg" done
-
jo das geht, DANKE. des $@ is echt praktisch..
hab jetzt noch ne Frage:
echo "Das wird gepiped." | ./script
ich will jetzt vom script aus irgendwie an das gepipte ran. Wie geht das?
-
ah, hat sich erledigt. siehe Link von DrGreenthumb ..
DANKE
-
[war mumpitz, bitte löschen]