/ bin / sh:第62行:至:找不到命令

sk

我有一个Python代码,我在其中调用一个shell命令。我执行shell命令的代码部分是:

try:
    def parse(text_list):
        text = '\n'.join(text_list)
        cwd = os.getcwd()
        os.chdir("/var/www/html/alenza/hdfs/user/alenza/sree_account/sree_project/src/core/data_analysis/syntaxnet/models/syntaxnet")
        synnet_output = subprocess.check_output(["echo '%s' | syntaxnet/demo.sh 2>/dev/null"%text], shell = True)
        os.chdir(cwd)
        return synnet_output
except Exception as e:
    sys.stdout.write(str(e))

现在,当我在带有一些示例输入的本地文件上运行此代码时(我做了cat /home/sree/example.json | python parse.py),它可以正常工作,并且我得到了所需的输出。但是我试图用我的HDFS上的输入来运行代码(相同的cat命令,但是输入文件路径来自HDFS),其中包含完全相同类型的json条目,并且失败并出现错误:

/bin/sh: line 62: to: command not found
list index out of range

我在Stack Overflow上读过类似的问题,解决方案是在被调用的Shell脚本中加入Shebang行。我有shebang行#!/usr/bin/bashdemo.sh脚本。

另外,which bash给出/usr/bin/bash

请有人详细说明。

切普纳

您很少(如果有的话)想要结合使用传递列表参数和shell=True只需传递字符串:

synnet_output = subprocess.check_output("echo '%s' | syntaxnet/demo.sh 2>/dev/null"%(text,), shell=True)

但是,您实际上并不需要外壳管道。

from subprocess import check_output
from StringIO import StringIO  # from io import StringIO in Python 3
synnet_output = check_output(["syntaxnet/demo.sh"],
                             stdin=StringIO(text),
                             stderr=os.devnull)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Eclipse / bin / sh:g ++:找不到命令

来自分类Dev

Docker:找不到容器命令'/ bin / sh'

来自分类Dev

/ bin / sh:SET:找不到命令

来自分类Dev

/ bin / sh:cc:找不到命令

来自分类Dev

Synology / bin / sh:找不到命令

来自分类Dev

/ bin / sh:ntpq:找不到命令

来自分类Dev

/ bin / sh:clang ++:找不到命令

来自分类Dev

找不到LFS 6.7 / bin / sh命令

来自分类Dev

反应本机错误-react-native-xcode.sh:第45行:react-native:找不到命令Command / bin / sh失败,退出代码为127

来自分类Dev

第1行:?#!/ usr / bin / sh:在尝试执行Shell脚本时找不到

来自分类Dev

/ bin / sh:/ usr / bin / wkhtmltopdf:找不到

来自分类Dev

Docker-compose:/ usr / local / bin / docker-compose:第1行:否:找不到命令

来自分类Dev

crontab-/ bin / sh:wget:找不到命令

来自分类Dev

/ bin / sh:jlink:找不到。命令'/ bin / sh -c jlink'返回非零代码:127

来自分类Dev

无法使用Java OpenJDK 14构建。/ bin / sh:javac:找不到命令

来自分类Dev

Android子进程上的Python:/ bin / sh:ls:找不到

来自分类Dev

Ubuntu docker镜像/ bin / sh:1:ufw:找不到

来自分类Dev

Chroot找不到`/ bin / bash`

来自分类Dev

找不到/ usr / bin / python

来自分类Dev

使用cronjob使用参数运行python脚本会给出错误:/ bin / sh:密码:找不到命令

来自分类Dev

Vim-LatexSuite:/ bin / bash:找不到乳胶命令

来自分类Dev

sudo -i问题-sudo:/ bin / bash / asd:找不到命令

来自分类Dev

~/bin 中的 Shell 脚本正常工作,但找不到命令

来自分类Dev

如何让 /bin/sh 指向 /bin/bash?

来自分类Dev

Crontab / bin / sh语法

来自分类Dev

/ bin / sh笨拙的行为

来自分类Dev

“ sh:第1行:已移动:找不到命令”使用curl安装npm SH

来自分类Dev

exec命令bin bash

来自分类Dev

“ / usr / bin / ld:找不到-lcudart”

Related 相关文章

  1. 1

    Eclipse / bin / sh:g ++:找不到命令

  2. 2

    Docker:找不到容器命令'/ bin / sh'

  3. 3

    / bin / sh:SET:找不到命令

  4. 4

    / bin / sh:cc:找不到命令

  5. 5

    Synology / bin / sh:找不到命令

  6. 6

    / bin / sh:ntpq:找不到命令

  7. 7

    / bin / sh:clang ++:找不到命令

  8. 8

    找不到LFS 6.7 / bin / sh命令

  9. 9

    反应本机错误-react-native-xcode.sh:第45行:react-native:找不到命令Command / bin / sh失败,退出代码为127

  10. 10

    第1行:?#!/ usr / bin / sh:在尝试执行Shell脚本时找不到

  11. 11

    / bin / sh:/ usr / bin / wkhtmltopdf:找不到

  12. 12

    Docker-compose:/ usr / local / bin / docker-compose:第1行:否:找不到命令

  13. 13

    crontab-/ bin / sh:wget:找不到命令

  14. 14

    / bin / sh:jlink:找不到。命令'/ bin / sh -c jlink'返回非零代码:127

  15. 15

    无法使用Java OpenJDK 14构建。/ bin / sh:javac:找不到命令

  16. 16

    Android子进程上的Python:/ bin / sh:ls:找不到

  17. 17

    Ubuntu docker镜像/ bin / sh:1:ufw:找不到

  18. 18

    Chroot找不到`/ bin / bash`

  19. 19

    找不到/ usr / bin / python

  20. 20

    使用cronjob使用参数运行python脚本会给出错误:/ bin / sh:密码:找不到命令

  21. 21

    Vim-LatexSuite:/ bin / bash:找不到乳胶命令

  22. 22

    sudo -i问题-sudo:/ bin / bash / asd:找不到命令

  23. 23

    ~/bin 中的 Shell 脚本正常工作,但找不到命令

  24. 24

    如何让 /bin/sh 指向 /bin/bash?

  25. 25

    Crontab / bin / sh语法

  26. 26

    / bin / sh笨拙的行为

  27. 27

    “ sh:第1行:已移动:找不到命令”使用curl安装npm SH

  28. 28

    exec命令bin bash

  29. 29

    “ / usr / bin / ld:找不到-lcudart”

热门标签

归档