我有一个服务器列表,我需要在每个服务器上执行一系列类似命令。脚本从外部文件获取有关命令的信息。服务器列表硬编码到脚本本身。 为此,我创建了一个脚本。不幸的是,它通过服务器的列表,只从input.txt
获取第一行declare ip_array=( xxx.xxx.xx.xx yyy.yyy.yy.yy zzz.zzz.zz.zz )
for ADDM_address in "${ip_array[@]}"; do
while IFS= read -r snmp_cred; do
snmp_ip=$(grep -E -o "blabla" <<< $snmp_cred)
snmp_ip=${snmp_ip%?}
$perform some commands
done </tmp/input.txt
done
input.txt文件的内容:
h3c/sseries/1.3.6.1.4.1.25506.11.1.99_hp_a3100_48_v2/172.30.152.20@public
h3c/sseries/1.3.6.1.4.1.25506.11.1.9_hp_v1905_24_poe/10.159.2.31@public
a10networks/generic/1.3.6.1.4.1.22610.1.3.16_ax3200_12/10.251.1.101@public
你能帮我构建一个合适的循环,所以它遍历input.txt文件的所有内容,不仅仅是通过第一个元素。
终端输出为: