Cyklus for v shellu

Tom_Dvorak

Cyklus for v shellu
« kdy: 15. 11. 2010, 15:47:18 »
Zdravím potřeboval bych od nějaké chytré hlavy poradit s následující částí skriptu...

DIR_SOURCE="/home/jirka/test1
/home/jirka/test2
/home/jirka/test3
/home/jirka/test4"

FILE_PAT="test1-
test2-
test3-
test4-"


for DIR_SOURCE in $DIR_SOURCE && FILE_PAT in $FILE_PAT
do
.
.
.
done

Jde mi o to jak zajistit, aby se mi měnili obě proměné najednou...
Předem díky za rady...
« Poslední změna: 15. 11. 2010, 19:18:56 od Petr Krčmář »


.

Re: cyklus for v shellu
« Odpověď #1 kdy: 15. 11. 2010, 16:19:31 »
Kód: [Vybrat]
DIR_SOURCE=(/home/jirka/test1
/home/jirka/test2
/home/jirka/test3
/home/jirka/test4)

FILE_PAT=(test1-
test2-
test3-
test4-)

for (( i=0; i < ${#DIR_SOURCE[*]}; i++ )); do
        DIR=${DIR_SOURCE[$i]}
        PAT=${FILE_PAT[$i]}
        echo $i $DIR $PAT
done

Kit

Re: cyklus for v shellu
« Odpověď #2 kdy: 15. 11. 2010, 17:19:38 »
Kód: [Vybrat]
while read DIR PAT; do
  echo $DIR $PAT
done <<EOF
/home/jirka/test1 test1-
/home/jirka/test2 test2-
/home/jirka/test3 test3-
EOF