我喜欢写固体shell代码,所以errexit&名词集永远被设置。
以下代码将在bad_command行停止
#!/bin/bash set -o errexit ; set -o nounset bad_command # stop here good_command
我想捕获它,这里是我的方法
#!/bin/bash set -o errexit ; set -o nounset rc=1 bad_command && rc=0 # stop here [ $rc -ne 0 ] && do_err_handle good_command
有什么更好或更清洁的方法
我的答案:
#!/bin/bash set -o errexit ; set -o nounset if ! bad_command ; then # error handle here fi good_command