#!/bin/bash
#
# Задаем список исключений
exclude_slave=(172.16.0.64 172.16.0.65)
# Созданные массивы
slave_ids=(3 4 5)
slave_hosts=(172.16.0.63 172.16.0.64 172.16.0.65)
slave_ports=(3306 3306 3306)
ids4delete=()
# Прогоняем список исключений по массиву slave_hosts
for excl in ${exclude_slave[@]}
do
for (( i = 0 ; i < ${#slave_hosts[@]} ; i++ ))
do
if [ "$excl" == "${slave_hosts[$i]}" ]; then
echo "Found IP: $excl from exclude list, with ID: $i"
# Наполняем массив с ID номерами для удаления информации из массивов
ids4delete[${#ids4delete}]="$i"
break
fi
done
done
# Удаляем данные из массивов
for ids in ${ids4delete[@]}
do
unset slave_ids[$ids]
unset slave_hosts[$ids]
unset slave_ports[$ids]
echo "Delete Slave server with ID: $ids"
done
unset ids4delete
bash: работа с массивами
Есть маленькая задача - реализовать функционал исключений для скрипта написанного на bash.
Написал код, но мне кажется, что его можно переписать более оптимально, кто что может подсказать?
Код: