擅长:python、mysql、java
<p>整个<code>EOF ... EOF</code>块在Python运行时中执行,因此退出它不会影响bash脚本。如果您想停止进一步的bash脚本进程,那么需要收集exit状态并在Python执行之后检查它,例如:</p>
<pre><code>#!/bin/bash
~/.conda/envs/my_env/bin/python <<'EOF'
import sys
sys.exit(0x01) # use any exit code from 0-0xFF range, comment out for a clean exit
print("End of the Python script that will not execute without commenting out the above.")
EOF
exit_status=$? # store the exit status for later use
# now lets check the exit status and see if python returned a non-zero exit status
if [ $exit_status -ne 0 ]; then
echo "Python exited with a non-zero exit status, abort!"
exit $exit_status # exit the bash script with the same status
fi
# continue as usual...
echo "All is good, end of script"
</code></pre>