2017-07-25 18:25:05 +05:30
|
|
|
# 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
|
2009-03-29 00:25:34 +05:30
|
|
|
|
|
|
|
# now some funky ones
|
2017-07-25 18:25:05 +05:30
|
|
|
"$THIS_SH" -c 'echo ${#=}' SHELL
|
|
|
|
"$THIS_SH" -c 'echo ${#:=}' SHELL
|
2009-03-29 00:25:34 +05:30
|
|
|
|
|
|
|
# should error out
|
2017-07-25 18:25:05 +05:30
|
|
|
"$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
|
2009-03-29 00:25:34 +05:30
|
|
|
|
|
|
|
# should not error
|
2017-07-25 18:25:05 +05:30
|
|
|
"$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
|
2009-03-29 00:25:34 +05:30
|
|
|
|
|
|
|
# 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}
|