我是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
,我很乐意将循环等拼凑在一起。
你可以做这样的事情:
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