#shell
#оболочка
Вопрос:
Я пытаюсь выполнить вложенную итерацию для каждого цикла в сценарии оболочки, который дает ожидаемые результаты, но вместе с дополнительным выводом.
Ниже приведен код.
for container in ${DB_1} ${DB_2}
do
for container_dump in ${DB_1_bkup} ${db_2bkup}
do
echo "${container} and backups/${container_dump}_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump"
done
done
Какой результат я получаю, это.
DB_1 and backups/DB_1_bkup_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump
DB_1 and backups/DB_2_bkup_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump
DB_2 and backups/DB_1_bkup_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump
DB_2 and backups/DB_2_bkup_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump
Чего я ожидаю, так это
DB_1 and backups/DB_1_bkup_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump
DB_2 and backups/DB_2_bkup_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump
Кто-нибудь может, пожалуйста, помочь?
Ответ №1:
Если я правильно понимаю ваш вопрос, вам не нужны два вложенных цикла…
Просто получите имя контейнера из переменной bkup…
for container_dump in ${DB_1_bkup} ${db_2bkup}
do
if [ "${container_dump}" = "${DB_1_bkup}" ]; then
container=${DB_1}
else
container=${DB_2}
fi
echo "${container} and backups/${container_dump}_dump_`date %Y-%m-%d"_"%H_%M_%S`.dump"
done