Bash 陷阱命令无法捕获致命的 php 脚本退出代码 255



问题的最小示例:

#!/bin/bash
errHandler() {
echo "Something went wrong. Exiting now."
exit 1
}
trap 'errHandler' ERR INT
pi_process () {
bin/pi $@
echo $?
}
pi_process stuff

bin/pi 是一个 PHP 脚本,它以退出代码 255 和致命错误退出。然而,bash陷阱并没有被抓住。怎么来了?

set -o functrace

似乎没有达到您的预期。

试试这个:

#! /bin/bash
set -e
errHandler() {
echo "Something went wrong. Exiting now."
exit 1
}
trap 'errHandler' EXIT
pi_process () {
false
echo $?
}
pi_process stuff

最新更新