我是bash脚本新手。由于目标设备上的ACL限制,我在使用用户级别访问的主机上使用bash而不是在另一个LAN网段上的设备上使用PHP。
我有一个IP地址和接口文件:
10.10.1.1 ATM0
10.10.2.1 ATM0/0/1
10.10.3.1 FastEthernet4
等。我需要连接到IP,发出相对于接口的命令(例如,sh dsl int atm 0/0/1 | inc Speed
),将结果记录到文件中,然后注销并转到下一个主机。
到目前为止谷歌搜索已经让我得出结论,bash无法将内容读入二维数组,而且我很好并且真的卡住了。
有人可以提供任何指导吗?一旦我从文件中设置$ip
和$interface
,我很乐意将循环等拼凑在一起。
答案 0 :(得分:0)
你可以这样做:
for line in $(sed 's/ \+/:/' ipfile.txt); do
ip=$(echo $line | cut -f1 -d:)
interface=$(echo $line | cut -f2- -d:)
whatever_command $ip $interface
done