Команда, я пытаюсь напечатать все элементы для массива с некоторой строкой в цикле bash over for, но его просто печатаются элементы, а не строка.
if [ "$FILTER" = "ALL" ]; then
vm_ip_all=$(./command_to_get_ips)
printf "got all IPs \\n %s" "$vm_ip_all"
else
echo "could not get all IPs"
fi
#for vm_ip in "${vm_ip_all[@]}"; do <<same result as below
for vm_ip in "${vm_ip_all}"; do
printf "\\n BEGIN FOR \\n"
echo "iterating for $vm_ip"
echo "END FOR"
done
Фактический вывод:
got all IPs
10.0.1.6
10.0.1.10
BEGIN FOR
iterating for 10.0.1.6
10.0.1.10
Ожидаемый вывод:
got all IPs
10.0.1.6
10.0.1.10
BEGIN FOR
iterating for 10.0.1.6
iterating for 10.0.1.10
END FOR
vm_ip_all
10.0.1.6 10.0.1.10 ```