Выход из сценария оболочки из встроенного кода Python - PullRequest
0 голосов
/ 06 июня 2019

Я хочу выйти из сценария оболочки из встроенного кода Python.Ниже os.system () не работает, а остальная часть кода сценариев оболочки все еще выполняется.

echo "this is shell code"
a=10
python << END
import os
print "this is python code"

if True:
        print "yes"
        print $a
        os.system("exit 1")
END
echo "I am out of python code"

1 Ответ

0 голосов
/ 06 июня 2019

Вы должны выйти из оболочки в явном виде на основе результата скрипта Python.

echo "this is shell code"
a=10
python "$a" <<END || exit
print "this is python code"
if True:
    print "yes"
    print(sys.argv[1])
    sys.exit(1)
END
echo "I am out of python code"

В этом примере, когда код Python безоговорочно завершается со статусом 1, окончательная echo будетне будет достигнут, так как ненулевой статус выхода приведет к выполнению команды оболочки exit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...