bash陷阱总是退出$ LINENO 1

问题描述

test.sh

#!/bin/bash
set -e
trap 'echo $LINENO' EXIT
/bin/false

运行

$ ./test.sh
1

如何获取“ / bin / false”的实际行号而不是始终为“ 1”?

解决方法

您因为退出EXIT而得到1。试试:

trap ... ERR