hi folks. i'm a bash user, who just noticed a slight anomaly. it has
to with the shell variable modifier ${parameter?} . according to the
man page, ${X?} should yield an error message and exit if X is unset,
otherwise the value of X. in this case,
unset X; echo ${X?}
i expect to get an error message, and indeed an error message results.
bash: X: parameter null or not set
but i think the error message is misleading. the wording sort of
implies that null would be an error, even though with the ? modifier,
null is OK. it's kind of confusing as well, to see the same error
message from both ${X?} and ${X:?} when they are really checking
distinct things.
i think the error message should say
bash: X: parameter is not set
a co-worker challenged me to submit a patch. so i downloaded the
code, looked at it, made a fix, and created a test script compatible
with the existing tests/ framework. all tests pass. (i glanced
around in the tests/ directory, did not see any tests of the variable
modifiers, so i extended my tests to cover some of the other modifiers
as well.)
i would like to submit this change for inclusion in bash. how should i proceed?