[ZSH] Array in falscher Reihenfolge ausgeben?

cat1510

Well-Known Member
Hi Leutz,

weiss jemand wie ich >einfach< einen Loop von einem Array in umgekehrter Reihenfolge ausgeben lasse?

Hier mal ein Beispiel, was ich meine:

Code:
#!/bin/zsh
#
#
#set -x

TESTARRAY=(3 9 12 18)

for i in $TESTARRAY;do
  echo $i
  sleep 1
done


exit

Klar Ergebnis ist:

3 9 12 18

Nun will ich das nur anderesherum.
Habe noch keine Doku / Referenz gefunden.

Hat jemand einen Tip fuer mich?

MFG


CAT
 
Gibt wahrscheinlich eine elegantere Möglichkeit, hier mal, wie man es flott machen könnte:

Code:
#!/usr/bin/env zsh
#
#
#set -x

TESTARRAY=(3 9 12 18) 

for ((i=${#TESTARRAY};i>=1;i--))
do
    echo ${TESTARRAY[${i}]}
    sleep 1
done

exit
 
Hi Morfio,

habe mir auch sowas aehnliches in der Zwischenzeit ausgedacht:

Code:
#!/bin/zsh
#
#
#set -x

TESTARRAY=( 01 02 03 05 09 12 18 26 29 )

for i in `print -O $TESTARRAY`;do
  echo $i
  sleep 1
done


exit

Wahrscheinlich gibt es aber auch hier eine elegantere Methode.
Danke auf jeden Fall fuer Deine Idee.


CAT
 
Sorry natuerlich sollte es die zsh sein...
War wohl ein freud'scher Versprecher. Ich schreibe was mit zsh fuer zfs.
Sind aber auch eine ganze Menge Z's die Tage... :)


Vieleicht kann /mag ein Moderator den Titel aendern.
Ich kann ja nur den Text editieren.


CAT
 
Zurück
Oben