diff options
-rw-r--r-- | shell/ash_test/ash-vars/param_expand_default.right | 7 | ||||
-rwxr-xr-x | shell/ash_test/ash-vars/param_expand_default.tests | 23 | ||||
-rwxr-xr-x | shell/hush_test/hush-vars/param_expand_default.tests | 6 |
3 files changed, 34 insertions, 2 deletions
diff --git a/shell/ash_test/ash-vars/param_expand_default.right b/shell/ash_test/ash-vars/param_expand_default.right new file mode 100644 index 0000000..3eecd13 --- /dev/null +++ b/shell/ash_test/ash-vars/param_expand_default.right @@ -0,0 +1,7 @@ +SHELL: line 1: syntax error: bad substitution +_0 _0 +_ _ _ _word _word +_aaaa _aaaa _aaaa _aaaa _aaaa +_ _ _ _word _word +_ _ _ _ _word +_fff _fff _fff _fff _fff diff --git a/shell/ash_test/ash-vars/param_expand_default.tests b/shell/ash_test/ash-vars/param_expand_default.tests new file mode 100755 index 0000000..5e42d30 --- /dev/null +++ b/shell/ash_test/ash-vars/param_expand_default.tests @@ -0,0 +1,23 @@ +# first try some invalid patterns (do in subshell due to parsing error) +# (set argv0 to "SHELL" to avoid "/path/to/shell: blah" in error messages) +# valid in bash and ash (same as $-): "$THIS_SH" -c 'echo ${-}' SHELL +"$THIS_SH" -c 'echo ${:-}' SHELL + +# now some funky ones +echo _${#-} _${#:-} + +# now some valid ones +set -- +echo _$1 _${1-} _${1:-} _${1-word} _${1:-word} + +set -- aaaa +echo _$1 _${1-} _${1:-} _${1-word} _${1:-word} + +unset f +echo _$f _${f-} _${f:-} _${f-word} _${f:-word} + +f= +echo _$f _${f-} _${f:-} _${f-word} _${f:-word} + +f=fff +echo _$f _${f-} _${f:-} _${f-word} _${f:-word} diff --git a/shell/hush_test/hush-vars/param_expand_default.tests b/shell/hush_test/hush-vars/param_expand_default.tests index 1ea0517..16e5f8e 100755 --- a/shell/hush_test/hush-vars/param_expand_default.tests +++ b/shell/hush_test/hush-vars/param_expand_default.tests @@ -1,6 +1,8 @@ # first try some invalid patterns (do in subshell due to parsing error) -"$THIS_SH" -c 'echo ${-}' -"$THIS_SH" -c 'echo ${:-}' +# (set argv0 to "SHELL" to avoid "/path/to/shell: blah" in error messages) +# valid in bash and ash (same as $-), not supported in hush (yet?): +"$THIS_SH" -c 'echo ${-}' SHELL +"$THIS_SH" -c 'echo ${:-}' SHELL # now some funky ones echo _${#-} _${#:-} |