2017-09-04 61 views
0

假設我有一個文件'commands.txt',它有一行一行的Linux命令列表(例如:who,pwd,ls,ps,clear等)如何運行保存在python腳本文本文件中的Linux命令?

我需要一個python腳本,其中運行時應該在控制檯/ shell中逐個執行所有的linux命令。

我正在尋找不同的方法來做到這一點。

可能是我認爲在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

這將工作,但如果一個命令是'cd',一個是'export X = Y'會怎麼樣。這是行不通的。爲什麼不在你的'commands.txt'文件上運行bash呢? –

+1

使用正確的shebang(#!/ usr/bin/env bash)創建一個bash腳本(.sh),使其成爲+ x然後,os.system(「./ myscript.sh」) – papey

回答

0

像@papey說,

  1. 創建一個bash腳本(.SH)文件,用正確的shabang(#!的/ usr/bin中/ env的慶典)。
  2. 你可以在你的Python腳本編寫,然後執行以下操作:

    import os

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

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

相關問題