/ / shell skriptovanie: ako odovzdať 2 parametre do cyklu for? - bash, škrupina

shell skriptovanie: ako odovzdať 2 parametre v slučke? - bash, škrupina

"Vytváram shell skript, kde je to potrebnéodovzdajte dva parametre (napríklad značky hash) do cyklu for. napr. (hodnota kľúča) tu porovnávam parameter „hodnota“ s určitou hodnotou a na základe toho je potrebné vykonať nejakú akciu s parametrom „kľúč“.

Páči sa mi to:

for i in $(echo `awk "{print $0}" ab4`); or for i in $(cat ab4);
do if [ "`awk -F":" "{print $2}" $i`" = "`some value`" ];
then echo "go ahead and restart app service on `awk "{print $1}" $i`";

{tu použijem príkaz na reštartovanie služby, ale na to potrebujem tento $ 1, čo je názov hostiteľa}

else echo "2nd condition here";
fi;
done.

obsah ab4 je ako:

hostname app.rpmversion

Keď to spustím, zobrazí sa chyba: "key" "value" in ab4 parameters are not a command.

Prosím pomôž

odpovede:

2 pre odpoveď č. 1

Môžeš použiť read zabudované pre toto:

while read -r key val; do
printf "Processing key=%s, value=%sn" "$key" "$val"
done < ab4

Výkon:

Processing key=hostname, value=app.rpmversion