1

私はこのネットワーキングプロジェクトに取り組んでおり、一度に複数のノードから複数のノードに「tc」、「arp」、「ping」などのツールを実行するために多くのシェルスクリプトを作成する必要があります。多くのノードに対して、そのようなスクリプトをいくつか生成する必要があります。そのため、シナリオと構成ごとに多くのスクリプトを作成する必要があります。各スクリプトは、他のスクリプトとは少し異なります。また、私の仕事はミニネットも扱っています。そこで多くのカスタムトポロジを生成するためにPythonスクリプトを作成する必要があります。非常に多くの長いスクリプトをハードコーディングするのは面倒です。

だから私はこれらのスクリプトの作成を自動化するための最良の方法を知りたいと思いましたか?別のシェルスクリプトを使用してこれらのシェル/Pythonスクリプトを生成することは可能ですか?または、Javaを使用してこれらを生成する必要がありますか?最も簡単なアプローチはどれですか?私が働き始める前にあなたの意見を聞きたいだけです。ありがとう :)

4

2 に答える 2

1

スクリプトを使用した最小限の例を次に示します。

create_a_script.sh

#!/bin/bash

echo -e \
'#!/bin/bash

ls
echo "Hello World!"' > hello.sh

chmod +x hello.sh

次のようにターミナルで実行できます。

$ chmod +x create_a_script.sh
$ ./create_a_script.sh

hello.shそして、同じディレクトリで呼び出されたファイルに次のように書き込みます。

#!/bin/bash

ls
echo "Hello World!"

これにより、現在の作業ディレクトリ内のファイルが一覧表示され、「HelloWorld!」と出力されます。終了する前に。

で試してみてください:

$ ./hello.sh
于 2012-12-14T17:53:56.610 に答える
1

Excel でハイパーリンクを設定するために使用されるスクリプトを作成する Python 関数を次に示します。新しいスクリプトは、特定のページで特定の pdf を開きます。この関数が属するより大きなプログラムは、実行ごとに数十、場合によっては数百のこれらのスクリプトを生成します。これらのスクリプトは、この関数に渡される引数を除いてすべて同一です。ユーザーが Excel を閉じてプログラムを終了すると、これらはすべて自動的に削除されます。

def makeOpener(pdf, page):
    '''makes a pyw file to use to hyperlink in excel'''
    t = 'c:/temp'
    if not os.path.isdir(t):
        os.makedirs(t)
    tempfile.tempdir = t
    py = tempfile.NamedTemporaryFile(suffix='.pyw', delete=False)

    lst = ['import subprocess, win32api',
           'pdf = r"' + pdf + '"',
           'page = "' + str(int(page)) + '"',
           '_, exe = win32api.FindExecutable(pdf)', 
           'opts = "page=" + page', 
           'clst = [exe, "/A", opts, "/N", pdf]', 
           'DP = 0x00000008', 
           'subprocess.Popen(clst, shell=False, creationflags=DP)'
           ]
    py.write('\n'.join(lst))       
    py.close()
    return py.name

マイク

于 2012-12-14T18:14:33.160 に答える