Я пытаюсь вызвать скрипт оболочки (Bash) из python. Сценарий находится в каталоге my/home/user/bin с разрешением на выполнение для группы & пользователя, то есть -rwxr-xr--
. Я использую subprocess.check_call(["/home/user/bin/script.sh %s %s" % (subj,-6)],shell=True)
, и это генерирует код статуса выхода 127. Добавление команды stderr=subprocess.STDOUT
в команду ничего не дает для выяснения. Вот точный результат:Подпроцесс python для вызова сценария оболочки (Bash)
CalledProcessError: Command '['/home/kambiz/bin/MNE_setup_source_space.sh kubi_td104 -6']' returned non-zero exit status 127`
Я считаю, что это может быть проблема, связанная с PATH, это правильно? Я не знаю, как это решить. Если я уже передаю абсолютный путь к исполняемому файлу, как может возникнуть проблема с PATH?
Заранее спасибо
'subprocess.check_call (["/home/user/bin/script.sh ", subj, str (-6)])' где 'subj' уже является строковой переменной рабочего пространства, генерирует ошибку формата Ex Ex [Errno 8]. С которым я столкнулся, прежде чем наткнуться на код выхода 127. – ktavabi
Это, однако, 'subprocess.check_call ("/home/kambiz/bin/MNE_setup_source_space.sh% s% s "% (subj, str (-6)), shell = True)' просто выплевывает '0'. Что это значит? Я не вижу результатов скрипта! – ktavabi
@ Kambysese В своем первом комментарии вы не набрасываете 'subj' на строку (как показано в примере). Вам нужно это сделать. –