123456789101112131415161718192021222324252627282930313233343536373839 |
- # 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)
- "$THIS_SH" -c 'echo ${=}' SHELL
- "$THIS_SH" -c 'echo ${:=}' SHELL
- # now some funky ones
- "$THIS_SH" -c 'echo ${#=}' SHELL
- "$THIS_SH" -c 'echo ${#:=}' SHELL
- # should error out
- "$THIS_SH" -c 'set --; echo _${1=}' SHELL
- "$THIS_SH" -c 'set --; echo _${1:=}' SHELL
- "$THIS_SH" -c 'set --; echo _${1=word}' SHELL
- "$THIS_SH" -c 'set --; echo _${1:=word}' SHELL
- # should not error
- "$THIS_SH" -c 'set aa; echo _${1=}' SHELL
- "$THIS_SH" -c 'set aa; echo _${1:=}' SHELL
- "$THIS_SH" -c 'set aa; echo _${1=word}' SHELL
- "$THIS_SH" -c 'set aa; echo _${1:=word}' SHELL
- # should work fine
- unset f; echo _$f
- unset f; echo _${f=}
- unset f; echo _${f:=}
- unset f; echo _${f=word}
- unset f; echo _${f:=word}
- f=; echo _$f
- f=; echo _${f=}
- f=; echo _${f:=}
- f=; echo _${f=word}
- f=; echo _${f:=word}
- f=fff; echo _$f
- f=fff; echo _${f=}
- f=fff; echo _${f:=}
- f=fff; echo _${f=word}
- f=fff; echo _${f:=word}
|