如何运行保存在python脚本文本文件中的Linux命令?

问题描述:

假设我有一个文件'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

像@papey说,

  1. 创建一个bash脚本(.SH)文件,用正确的shabang(#!的/ usr/bin中/ env的庆典)。
  2. 你可以在你的Python脚本编写,然后执行以下操作:

    import os

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

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