2017-08-09 7 views
1

私は、レイヤー1デバイスにコマンドを送信する別の人によって作成されたPythonスクリプトを持っています。ただし、スクリプトは一度に1つのポートでしか実行できないため、24/48ポートを通過するのに手間がかかります。コマンドを繰り返して別のコマンドで再利用するための結果を返します

例:それは「接続」または「未接続」または(このポートは、例えば、スイッチ上に存在しないので)「ポートが見つかりません」のフィードバックを与える

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

ポートが指定されていない状態でスクリプトを繰り返すだけで、ポート1から開始し、結果がファイルに保存される「ポートが見つかりません」というフィードバックが得られたら、何らかの形式の配列を作成して、そのスイッチを「接続されていない」ポートで追加または変更することができます。例えば

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

私は正直、この上で起動する方法や私の仕事は、物事のハード面を中心に展開するので、これはと呼ばれるものは考えています。私はちょうどどこを見るかというアイディアを得ようとしています。私は繰り返しコマンドと "Similar Questions"のサイドバーを右に見ました。おそらくここで私が見ている複雑なコンセプトだと思いますか?

+0

あなたはportquery.py' 'を見て撮影したことがありますか?おそらく、ループの中で何をしているのかを複製することができます - https://docs.python.org/3/tutorial/controlflow.html#for-statements – wwii

答えて

0

コードがなくても、正確に行う方法を示すのは難しいです。しかし、おそらくコードにはクエリを実行する関数があり、関数が呼び出される場所があります。

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

それとも、あなたはPythonスクリプト48回を呼び出す小さなbashスクリプトを書くことができます:あなたはのようなものへの呼び出しを変更することができます。 (私はあなたが8 0〜47または1個のポートに番号を付ける必要がある場合はわからない)の線に沿って 何か:

#!/bin/bash 
for number in {1..48} 
do 
python checkport.py number 
done 

その後、あなたはbashスクリプトを実行可能にします。あなたは "checkallports.sh" スクリプトと呼ば言う:

> chmod +x checkallports.sh 

次に、あなたがそれを呼び出すことができます。

> ./checkallports.sh 
+0

これは始まりです。ありがとうございました。私はそれが異なる名前の多くのデバイスがあるデバイス名を含めるように変更することができますかと思っています。 ie:./checkallports.sh switch001 – sysengelca

+0

はい。スクリプトで$ 1というパラメータを参照します。より多くのパラメータが必要な場合は、$ 2、$ 3などです。 – Basya

関連する問題