例如,向命令添加结尾将显示结尾:
function work* () {
echo "$1";
}
export -f work*
$ working
ing
答案1
也许像下面这样的东西会为你做:
function work() {
echo "${1#work}"
}
function err_work() {
[ "${1#work}" != "$1" ] && work $*
}
trap "err_work \$BASH_COMMAND" ERR
然后在所有命令错误时调用该err_work
函数,以发现失败的命令以“work”开头,从而调用该work
函数而不结束,并以初始命令行作为参数。
当然,bash 会在调用陷阱之前抱怨初始命令,因此看起来有点难看;也许有办法把它关掉,虽然我还没有找到