当前位置: 首页 > 面试题库 >

在Python中运行BASH内置命令?

程俊健
2023-03-14
问题内容

有没有办法从Python运行BASH内置命令?

我试过了:

subprocess.Popen(['bash','history'],shell=True, stdout=PIPE)

subprocess.Popen('history', shell=True, executable = "/bin/bash", stdout=subprocess.PIPE)

os.system('history')

及其许多变化。我想跑步history还是fc -ln


问题答案:

我终于找到了可行的解决方案。

from subprocess import Popen, PIPE, STDOUT
shell_command = 'bash -i -c "history -r; history"'
event = Popen(shell_command, shell=True, stdin=PIPE, stdout=PIPE, 
    stderr=STDOUT)

output = event.communicate()

谢谢大家的投入。



 类似资料:
  • 问题内容: 我运行一个包含此行的python脚本 然后,我在服务器上运行相同的代码,并收到以下错误消息 因此,我要做的就是print bashCommand在运行之前,在终端中插入一个比命令更清晰的信息os.system()。 当然,我再次收到错误(由引起os.system(bashCommand)),但是在该错误出现之前,它会在终端中打印命令。然后我只是复制了输出,然后将复制粘贴到终端中,然后按

  • 我有下面的课。它允许我通过java执行命令。 当我运行命令时,上一个命令的结果没有保存。例如: 给出输出: 为什么第二个“ls”命令不显示“bin”目录的内容?

  • 我有这个命令来编译我的程序。 我创建了以下makefile。 如果从terminal运行该命令将成功,但make将失败。 它将失败,并出现错误 该文件应该在命令中使用导入。 我认为Makefile中的命令执行起来很像bash脚本。 在bash中运行命令和在Makefile中运行命令有什么区别?

  • 问题内容: 我的以下代码有问题: callBash.py: sleep.sh: 我希望10秒钟后打印“结束”。(我知道这是一个愚蠢的示例,我可以简单地在python中睡眠,但是这个简单的sleep.sh文件只是作为测试) 问题答案: 使sleep.sh可执行并添加到参数列表中(如先前答案中所建议)可以正常工作。根据搜索路径,您可能还需要添加或其他合适的路径。(即,更改为。) 如果bash脚本的第一

  • 本文向大家介绍哪一个 bash 内置命令能够进行数学运算。相关面试题,主要包含被问及哪一个 bash 内置命令能够进行数学运算。时的应答技巧和注意事项,需要的朋友参考一下 答案: bash shell 的内置命令 let 可以进行整型数的数学运算。 #! /bin/bash … … let c=a+b … …

  • 问题内容: 我有一个bash脚本,可以通过命令行像这样运行: 我在调用某个php文件后尝试执行上述命令。 我现在所拥有的是: 但这是行不通的。我尝试过使用和太,但剧本从来没有得到执行。 但是,当我尝试运行它时,它确实起作用,并且是所有文件的列表。 我不确定这是由于我使用的VPS的限制还是问题出在其他地方? 问题答案: 您可能需要在调用脚本之前将chdir更改到正确的目录。这样,您可以在调用shel