无法从python子进程执行shell脚本:权限被拒绝

时间:2013-11-29 18:26:02

标签: python shell

尝试使用Google搜索,却找不到与我的特定问题相关的内容。我正在尝试从python运行shell脚本,但由于权限被拒绝错误,shell脚本无法运行。我正在运行的python代码是:

process = subprocess.Popen('run.sh', shell=True, stdout=subprocess.PIPE)
process.wait()
....
os.killpg(pro.pid, signal.SIGTERM)

我得到的错误:

python RunScript.py "input"
/bin/sh: 1: run.sh: Permission denied

我的shell脚本的内容是:

#!/bin/sh
abspath=$(cd "$(dirname "$0")"; pwd)
CLASSPATH=$CLASSPATH:$abspath/"lib/*":$abspath/"bin"
export CLASSPATH
java -classpath $CLASSPATH my.folder.path.Class $abspath/../data/data.txt $abspath/../data/data2.txt

提前致谢。

2 个答案:

答案 0 :(得分:22)

检查run.sh模式,如果没有可执行标志,请使用命令

进行设置
chmod +x run.sh

答案 1 :(得分:0)

因为您没有运行该脚本的权限。您需要为该脚本提供可执行权限才能运行。

  

chmod a + x run.sh