| # first try some invalid patterns (do in subshell due to parsing error) |
| "$THIS_SH" -c 'echo ${=}' |
| "$THIS_SH" -c 'echo ${:=}' |
| |
| # now some funky ones |
| "$THIS_SH" -c 'echo ${#=}' |
| "$THIS_SH" -c 'echo ${#:=}' |
| |
| # should error out |
| "$THIS_SH" -c 'set --; echo _${1=}' |
| "$THIS_SH" -c 'set --; echo _${1:=}' |
| "$THIS_SH" -c 'set --; echo _${1=word}' |
| "$THIS_SH" -c 'set --; echo _${1:=word}' |
| |
| # should not error |
| "$THIS_SH" -c 'set aa; echo _${1=}' |
| "$THIS_SH" -c 'set aa; echo _${1:=}' |
| "$THIS_SH" -c 'set aa; echo _${1=word}' |
| "$THIS_SH" -c 'set aa; echo _${1:=word}' |
| |
| # 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} |