/ / сценарій оболонки: як передати 2 параметри для циклу? - баш, оболонка

сценарій оболонки: як передати 2 параметри для циклу? - баш, оболонка

Я "створюю сценарій оболонки, куди мені це потрібнопередайте два параметри (як хеш-теги) для циклу. для екс. (ключове значення) тут я порівнюю параметр "значення" з деяким значенням і на основі якого потрібно виконати певну дію за параметром "ключ".

люблю:

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`";

{тут я використовую команду для перезапуску служби, але для цього мені потрібна ця $ 1, яка є ім'ям хоста}

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

вміст ab4 виглядає так:

hostname app.rpmversion

Коли я запускаю це, отримую помилку: "key" "value" in ab4 parameters are not a command.

Будь ласка, допоможіть

Відповіді:

2 для відповіді № 1

Ви можете використовувати read вбудований для цього:

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

Вихід:

Processing key=hostname, value=app.rpmversion