繁体   English   中英

Python无法使用sh或bash执行终端脚本

Python can't execute terminal script, using sh nor bash [duplicate]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

这个问题已经在这里有了答案:

我希望你们能帮助我解决这个问题,因为我真的被卡住了。。。我正在尝试从python执行程序,由于某种原因,它不起作用。 该脚本位于:

path/to/teqc

我已经将这一行添加到.bashrc文件中:

alias teqc='path/to/teqc'

而且,当我跑步时

teqc -tr d input >output

在终端上工作正常...但是,如果我在python程序上运行它,则显示:

sh: teqc: command not found

我一直在python上使用的代码是:

os.system('teqc -tr d input >output')

我尝试使用

subprocess.Popen('teqc -tr d input >output', shell=True, executable="/bin/bash")

但是唯一的结果是将错误消息更改为

/bin/bash: teqc: command not found

任何帮助将非常感激 :)

我忘了指定PD,操作系统是Fedora 21

2 个回复

我建议创建一个指向程序的符号链接。

ln -s /path/to/teqc /usr/bin/teqc

我认为问题在于,使用子流程在代码中运行命令时,环境变量PATH不相同。

  1. 一种解决方案是按照上一个答案中的建议进行软链接
  2. 您可以做的另一件事是,在使用子进程执行命令之前,先设置代码环境,然后os模块附带一个os.environ词典,该词典可用于使用类似以下内容的路径

     import os import subprocess os.environ['PATH'] += ":/path/to/teqc" subprocess.Popen(['teqc -tr d input'],stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True) 
1 通过ajax执行.sh(bash脚本)

是否可以直接从客户端的ajax执行驻留在服务器端的.sh文件? 还是我需要用服务器语言(例如php)制作一个运行bash脚本的程序,然后让ajax运行php? 谢谢 ...

2 为什么默认情况下无法执行bash(.sh)脚本

为什么默认情况下bash(.sh)脚本无法执行。 我同意,当我们touch Linux中的任何文件时,该文件都是为读取目的而创建的。 但是由于文件扩展名(例如sh和csh)是为了执行目的。 在可执行模式下touch它们不是理想的选择。 这个问题听起来似乎很多余,但是我仍然想问这个 ...

3 无法使用Jsch执行.sh脚本

我正在尝试使用ssh api Jsch从我的java应用程序(在我的Windows 7工作站上)在unix服务器中执行脚本shell。 我正在使用“start_lm”的脚本shell是一个C二进制文件。 这是我正在使用的代码(它来自Jsch网站的例子) 我得到的错误是 ...

4 使用Go使用参数运行sh / bash / python脚本

我被困在这几天上,我试图运行一个从第一个参数开始运行的bash脚本(也许我应该放弃所有希望,哈哈) 运行脚本的语法可以假定为: sudo bash script argument或者因为它具有og + x,所以可以作为sudo script argument 在运行中,我使用以 ...

7 在 bash 脚本中执行 `sh -c`

我有一个test.sh文件,它将 bash 命令作为参数,它执行一些逻辑,即设置和检查一些环境变量,然后执行该输入命令。 #!/bin/bash #Some other logic here echo "Run command: $@" eval "$@" 当我运行它时,这是输出 % ./t ...

8 无法使用python 2.2执行bash脚本

所以我已经在这个问题上停留了一段时间了。 我有一个cgi python脚本,需要执行bash脚本。 我的代码中包含以下行: 我已经尝试调试了几个小时,但我无法找出为什么它无法正确执行。 当我从命令行运行相同的行时,它的工作原理就很好。 我已经对该bash脚本授予了正确的权限,等等 ...

9 Bash脚本执行后终端无法恢复正常

我希望终端在执行bash脚本后恢复正常。 当前,脚本按预期运行,并且输出到达其目的地,但是终端在运行./script后挂起,等待我按下CTRL-C。 我希望终端在脚本运行后立即恢复正常。 ...

2019-06-07 13:00:16 1 48   bash
10 Cron执行执行python脚本的sh脚本

我有一个执行sh脚本的cronjob。 该脚本还执行以下python脚本: 但是,当cron执行执行Python脚本的sh脚本时,不会执行main(install_dir='/opt') 。 如果我手动运行sh脚本,Python脚本中的main(install_dir='/opt') ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM