重复命令/收集结果以便在另一个命令中重用

时间:2017-08-09 18:10:02

标签: python linux

我有一个python脚本是由另一组人创建的,它向一个第1层设备发送命令,如果它是活动的,它会根据连接提供反馈。但是,脚本一次只能执行一个端口,这使得通过24/48端口需要大量人力。

示例:

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

它提供了反馈"已连接"或"未连接"或"未找到端口" (因为例如交换机上不存在此端口)。

所以我想到的是,如果可以在没有指定端口的情况下重复该脚本,并且它从端口1开始并在获得反馈时停止"未找到端口"它将结果保存到文件或某种形式的数组中然后我可以使用该集合在同一个交换机上添加或修改vlan" Not connected"端口。

例如:

$ python repeatquery.py (name of device)
Port 1 - Connected
Port 2 - Not Connected
etc etc
Port 49 - Port not found

老实说,我不知道如何开始这个或者这会是什么,因为我的工作围绕事物的硬件方面。我只是想弄清楚在哪里看。我已经看过重复命令和"类似问题"右侧边栏。我想这可能是我在这里看到的一个令人费解的概念吗?

1 个答案:

答案 0 :(得分:0)

如果没有代码,很难向您展示如何做到这一点。但是可能在代码中有一个函数可以执行查询,也可以调用函数。您可以将呼叫更改为:

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