尝试使用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
提前致谢。
答案 0 :(得分:22)
检查run.sh模式,如果没有可执行标志,请使用命令
进行设置chmod +x run.sh
答案 1 :(得分:0)
因为您没有运行该脚本的权限。您需要为该脚本提供可执行权限才能运行。
chmod a + x run.sh