我有一个python脚本,它是由另一组人创建的,这些人向第1层设备发送一个命令,该设备根据连接是否处于活动状态提供反馈。但是,脚本一次只能执行一个端口,这使得通过24/48端口非常费力。
例子:

python portquery.py -status (name of device)-(port)

它给出一个“连接”或“未连接”或“未找到端口”的反馈(因为这个端口不存在于交换机上)。
所以我想,如果可以在没有指定端口的情况下重复该脚本,它从端口1开始,在收到反馈“找不到端口”时停止,它将结果保存到文件或某种形式的数组中,然后我可以使用该集在同一交换机上添加或修改具有那些“未连接”端口的VLAN。
例如:
$ python repeatquery.py (name of device)
Port 1 - Connected
Port 2 - Not Connected
etc etc
Port 49 - Port not found

我真的不知道如何开始这个或什么这将被称为,因为我的工作围绕硬件方面的东西。我只是想知道去哪里找。我看过重复的命令和右边的“类似问题”侧栏。我想这是一个有点复杂的概念,我看这里也许?

最佳答案

如果没有代码,很难向您展示具体的操作方法。但可能在代码中有一个函数进行查询,并调用该函数。您可以将呼叫更改为:

for x in range(0, 47):
    do_the_function(x)

或者,可以编写一个小bash脚本,该脚本调用python脚本48次。
大致如下(我不确定您是否需要将端口编号从0到47或从1到8):
#!/bin/bash
for number in {1..48}
do
python checkport.py number
done

然后使bash脚本可执行。假设您将脚本称为“checkAllPorts.sh”:
> chmod +x checkallports.sh

然后你可以称之为:
> ./checkallports.sh

10-07 19:13
查看更多