Подтвердить что ты не робот

Не удается выполнить оболочку script из подпроцесса python: разрешение отклонено

Пробовал поиск в Google, но не смог найти что-то, что связано с моей конкретной проблемой. Я пытаюсь запустить оболочку script из python, но оболочка script не будет запускаться из-за отказа в разрешении. Я запускаю код 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

Содержимое моей оболочки script:

#!/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

Спасибо заранее.

4b9b3361

Ответ 1

Проверьте свой режим run.sh, если нет исполняемого флага, установите его командой

chmod +x run.sh

Ответ 2

потому что у вас нет разрешения на запуск этого script. Вам нужно будет предоставить исполняемое разрешение для этого script для запуска.

chmod a + x run.sh