Bug 7671 - internal line numbering is screwed in subshell
: internal line numbering is screwed in subshell
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/bash)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-08-14 02:51 by
Modified: 2006-01-07 00:58 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-08-14 02:51:34
$ cat test.sh
:
while getopts d: opt; do
        case "$opt" in
                d) dir="$(readlink -ev "${OPTARG:?}")" ;;
                *) exit 2 ;;
        esac
done
$ bash -e test.sh -d ''
test.sh: line 1: OPTARG: parameter null or not set
$ ash -e test.sh -d '' 
test.sh: 7: OPTARG: parameter not set or null
$ 

Why does bash says it was line 1?
I guess when bash enters subshell, internal line counter is reset to 1.

And why does ash says it was line 7?
It must have been line 4!
------- Comment #1 From 2005-12-31 02:22:52 -------
Seems to be fixed in bash-3.0
------- Comment #2 From 2006-01-06 22:04:43 -------
Fixed in 3.1.1-alt1.
------- Comment #3 From 2006-01-07 00:58:46 -------
ash still not fixed, but I don't care.