"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ď č. 1Môž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