如何通过python执行shell脚本

2024-02-23

我有一个脚本 abc.sh ,其中包含带有标志的命令列表。 例子

//abc.sh
echo $FLAG_name
cp   $FLAG_file1   $FLAG_file2
echo 'file copied'

我想通过python代码执行这个脚本。 说

//xyz.py

name = 'FUnCOder'
filename1  = 'aaa.txt'
filename2 = 'bbb.txt'

subprocess.call([abc.sh, name, filename1, filname2], stdout=PIPE, stderr=PIPE, shell=True)

这个电话打不通。

还有哪些其他选择?

shell 脚本文件也位于其他目录中。我希望输出进入日志。


通常你想使用Popen http://docs.python.org/2/library/subprocess.html#popen-constructor因为事后你可以控制过程。尝试:

import subprocess
process = subprocess.Popen(['abc.sh', name, filename1, filname2], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait() # Wait for process to complete.

# iterate on the stdout line by line
for line in process.stdout.readlines():
    print(line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过python执行shell脚本 的相关文章

随机推荐

  • iOS Objective C:显示 RTF 文档

    我想在视图中显示 RTF 文档 该文档将在 Microsoft Word 中开发并包含图像 使用提供的标准例程执行此操作的最佳方法是什么 我真的很想要示例代码来从包中加载 RTF 文档 亲切的问候 贾森 UIWebView 打开 rtf 文
  • Ajax 之后的 Javascript [重复]

    这个问题在这里已经有答案了 可能的重复 在 AJAX 请求之前使用 JavaScript 获取日期 https stackoverflow com questions 14416443 obtain dates with javascrip
  • 在php中的数字之间画点

    我想在我的总价值之间画点 如果我有 425000 我希望它显示为 425 000 php 中是否有一个函数可以将数字的点内爆 或者我该怎么做 Use 数字格式 http php net manual en function number f
  • 如何使用 .Net 4 进行 WCF 非 HTTP 激活?

    我有一个使用非 HTTP 激活的 Net 3 51 服务 这很好用 我想将其转换为 Net 4 在 Windows 7 中 如果您转到 控制面板 添加删除程序 打开或关闭 Windows 功能 则会出现 Microsoft NET Fram
  • 让 mmm 模式在 emacs 24 中工作

    我一直在尝试让 mmm 模式发挥作用 特别是针对 Rails 开发 我已按照安装说明进行操作 但无法进入我正在寻找的特定混合模式和特殊突出显示 最特别的是 erb 文件 这是我的 emacs 文件 custom set variables
  • 为什么在 GCC/C++ 中“pragma GCC Diagnostic Push”会弹出警告?

    pragma GCC diagnostic push it pop warning expected error warning ignored after pragma GCC diagnostic 为什么 我在 Linux 中使用 GC
  • 仅当不在生产环境中时才导入 NodeJS

    基本上 我使用 morgan 来查看开发中的日志 我有它在下面 save dev 但在我的app js I use const morgan require morgan 它在我的本地计算机上运行良好 但我只使用摩根 具体取决于NODE E
  • 将 Rails 应用程序从 Windows 连接到 SQL Server 2005

    I sadly 必须部署一个railsWindows XP 上的应用程序必须连接到微软SQL服务器2005 在网上冲浪有很多关于从 Linux 连接到 SQL Server 的内容 但找不到如何从 Windows 进行连接 基本上我遵循了以
  • 下标超出范围,VBA

    您好 我收到错误 因为下标超出范围 但我无法确定原因 错误位于标有 的行中 Function RemoveDups aryValues As Variant Dim dict As Object Set dict CreateObject
  • Grails i18n UrlMappings

    我正在处理以下问题 在我们的项目中 我们为同一网站启动了不同的国际化域名 问题在于不同语言的 UrlMappings 例如 英文 姓名联系人 contact controller static action index id contact
  • 不使用 update 语句更新表

    谁能告诉我如何在不使用更新语句的情况下更新表的某些记录 可以使用 select 语句 我不认为你可以update桌子没有update陈述
  • 我应该忽略在 Git 中提交的 launchSettings.json 文件吗?

    我找到了这个相对知名的 GitHub 存储库 他们在那里考虑了launchSettings json文件 Visual Studio 2017 用于 Net Core 项目 是ignored https github com github
  • Rails 中的竞争条件 first_or_create

    我正在尝试强制表字段之一中值的唯一性 改变桌子不是一个选择 我需要使用 ActiveRecord 有条件地将一行插入表中 但我担心同步 Does first or createRails ActiveRecord 中的防止竞争条件 这是源代
  • ocaml 漂亮的打印机(代码格式化程序)

    我正在寻找适用于 ocaml 的代码格式化程序或漂亮的打印机 类似 gofmt 的 go 编程语言 它最好应该保留评论 我正在纠正提交的内容 一些代码的格式使其非常难以阅读 如果你不关心评论 你可以使用camlp4 camlp4
  • 如何使用 FirebaseRecyclerAdapter

    Override public void onStart super onStart FirebaseRecyclerAdapter
  • iPhone - UIImagePickerControllerDelegate 继承

    我添加了一个UIImagePickerController to a UIViewController 我还分配了UIImagePickerControllerDelegate对此UIViewController 当我执行以下行时 myPi
  • Discord.js 计时器,定期更新倒计时

    我目前正在制作一个计时器命令 用户可以输入类似 prefix timer 10m 的内容 机器人将启动一个 10 分钟的计时器 并且每 20 30 秒它会自我更新一次 但我不确定我该怎么做它 提前致谢 一种可能的方法是使用setInterv
  • Doctrine DQL 从关系表中删除

    使用 Doctrine 2 和 Symfony 2 0 我有两个 Doctrine 实体 假设 EntityA 和 EntityB 他们之间有多对多关系 这样数据库中就创建了一个EntityA EntityB表 使用 DQL 或 Query
  • Clojure core.match 无法在类上匹配

    当评估这个超级简单的 core match 表达式时 我得到 match class 3 14 Integer Integer Double Doubler gt Integer 这怎么可能是正确的 我是否遗漏了有关 core match
  • 如何通过python执行shell脚本

    我有一个脚本 abc sh 其中包含带有标志的命令列表 例子 abc sh echo FLAG name cp FLAG file1 FLAG file2 echo file copied 我想通过python代码执行这个脚本 说 xyz