Вводные данные: список серверов который состоит из 3 хостов разделённых новой строкой
ip
ip
Необходимо: передать список построчно циклу для выполнения команд внутри него
Текущее решение
iter=0
maxiter=$( cat file.txt | awk '{print $1}' | sort -u | wc -l )
while [ $iter -ne $maxiter ]
do
eval cat=(`cat file.txt | awk '{print $1}' | sort -u`)
touch spisok-${cat[$iter]}.txt
iter=$(( $iter+1 ))
done
Проблемы которую тут вижу я - использование двух переменных (хотелось бы узнать как можно их в данном случае задействовать по минимуму), отходит от изначальной идеи передавать в качестве аргумента для while полинейного вывода команды cat и оперировать им. Если в целом код можно улучшить (сделать его более логичным или правильным), то просьба описать такой вариант