# first try some invalid patterns (do in subshell due to parsing error) "$THIS_SH" -c 'echo ${-}' "$THIS_SH" -c 'echo ${:-}' # 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}