Если я правильно понял все ваши хотелки для данного костыля, то вот, что примерно вышло:
Сам скрипт:
#!/usr/bin/env bash
FILE="/path/to/file_with_ip/ip"
USER="root"
while read -r ip_addr; do
ssh "$USER"@"$ip_addr" << "EOF"
interface=$(/usr/sbin/ifconfig -a | grep "UP" | grep -v "lo" | awk -F ": " '{ print $1 }')
if grep 'DOMAIN' /etc/sysconfig/network-scripts/ifcfg-$interface &>/dev/null; then export DOMAIN=SIZ37.LAN && sed -i -e "s|DOMAIN=.*$|DOMAIN=$DOMAIN|" /etc/sysconfig/network-scripts/ifcfg-$interface; else echo "DOMAIN=locl.dom" >> /etc/sysconfig/network-scripts/ifcfg-$interface; fi
service network restart
EOF
done < <(cat $FILE)
Файл IP-адресов, заканчиваться должен пустой строкой, иначе последний адрес потеряете:
$cat /path/to/file_with_ip/ip
172.16.0.1
172.16.0.2
Но, я бы дописал какое-то логирование, хотя бы в консоль. А то интерфейсов мб несколько. И еще всякое. Как потом отлавливать на каких серверах что-то пошло не так без логирования вопрос открытый.