【发布时间】:2014-11-18 15:23:48
【问题描述】:
我想在 Python 中执行一个 shell 脚本文件。我目前正在使用 Envoy 执行此操作:
envoy.run('./scripts.sh')
但它会抛出一个No such file or directory 错误。
我想知道,上面的文件是在哪个路径下执行的?如何使上述脚本运行?它与 Python 脚本位于同一目录中。
【问题讨论】:
-
问题也可能是您 script.sh 中的 shebang 行。也许它指向一个错误的解释器,这样你就会得到相同的错误信息。只是一个想法……
-
#!/bin/bash是shebang-line -
好的,如果
/bin/bash存在,那么你应该看看envoy,我不知道那个包。试试envoy.run('pwd')看看你在哪里。 -
您是否已经在脚本中使用了
chmod?我不知道envoy的确切作用,但它可能仍然需要您的脚本位于$PATH中。 -
错误的 chmod 设置(缺少 x 标志)会产生“权限被拒绝”。
标签: python bash shell subprocess python-envoy