2017-09-04 19 views
0

linuxコマンドのリストを列挙したファイル 'commands.txt'があるとします。(例:who、pwd、ls、ps、clearなど)pythonスクリプトからテキストファイルに保存されたLinuxコマンドを実行するには?

私はPythonスクリプトが必要です実行時にコンソール/シェルですべてのlinuxコマンドを1つずつ実行する必要があります。

私はそれを行うためのさまざまなアプローチを探しています。

私が考えることができるアプローチは、Pythonでosモジュールを使用することです。

import os 

with open("commands.txt") as file: 
    for line in file: 
     os.system(line) 

親切にこの問題に異なるアプローチで私を助けて(私はここで何かを逃した場合、私を修正してください)。

-TIA

+1

'os.system( "SHのcommands.txtを")'? –

+0

が動作しますが、1つのコマンドが 'cd'で、1つが' export X = Y'であればどうでしょうか?それはうまくいかないでしょう。代わりに 'commands.txt'ファイルでbashを実行してみませんか? –

+1

正しいシバン(#!/ usr/bin/env bash)を使ってbashスクリプト(.sh)を作成し、それを+ xにして、os.system( "./ myscript.sh") – papey

答えて

0

@papeyが言ったように、

  1. は正しいshabangで、bashスクリプト(.SH)ファイルを作成します(#!は/ usr/binに/のenv bashの)。
  2. 次に、あなたのPythonスクリプトに次のように書くことができます:

    import os

    os.system("chmod +x myscript.sh")

    os.system("./myscript.sh")

関連する問題