| 1 | #!/usr/bin/env bash
|
| 2 | #
|
| 3 | # Demo of line numbers, inspired by:
|
| 4 | #
|
| 5 | # http://lists.gnu.org/archive/html/bug-bash/2016-12/msg00119.html
|
| 6 | #
|
| 7 | # TODO: would be nice to move into test/gold, but OSH doesn't have the ERR trap
|
| 8 | # yet
|
| 9 |
|
| 10 | # This doesn't appear necessary:
|
| 11 | #shopt -s extdebug
|
| 12 |
|
| 13 | main() {
|
| 14 | echo "line number in function: $LINENO"
|
| 15 | trap 'echo line number in trap handler: $LINENO' ERR
|
| 16 | # Start a subshell and exit, which invokes the trap handler. It uses the function line number?
|
| 17 | # Subshell doesn't have line number attached.
|
| 18 | (exit 17)
|
| 19 |
|
| 20 | # This uses the command line number.
|
| 21 | #$(exit 17)
|
| 22 | }
|
| 23 |
|
| 24 | main
|
| 25 | echo "line number at top level: $LINENO"
|
| 26 |
|