1# first try some invalid patterns (do in subshell due to parsing error) 2"$THIS_SH" -c 'echo ${+} ; echo moo' 3"$THIS_SH" -c 'echo ${:+} ; echo moo' 4 5# now some funky ones. (bash doesn't accept ${#+}) 6echo _${#+}_ _${#:+}_ 7 8# now some valid ones 9set -- 10echo _$1 _${1+} _${1:+} _${1+word} _${1:+word} 11 12set -- aaaa 13echo _$1 _${1+} _${1:+} _${1+word} _${1:+word} 14 15unset f 16echo _$f _${f+} _${f:+} _${f+word} _${f:+word} 17 18f= 19echo _$f _${f+} _${f:+} _${f+word} _${f:+word} 20 21f=fff 22echo _$f _${f+} _${f:+} _${f+word} _${f:+word} 23