Вы должны выйти из оболочки в явном виде на основе результата скрипта 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
.