mirror of
https://github.com/sheumann/hush.git
synced 2024-05-28 06:41:31 +00:00
16cd3c0619
There's really only one bug fix in here that should be significant for GNO hush. The other changes should be inconsequential, AFAIK.
61 lines
1.9 KiB
Plaintext
Executable File
61 lines
1.9 KiB
Plaintext
Executable File
# do all of these in subshells since it's supposed to error out
|
|
|
|
# first try some invalid patterns
|
|
#"$THIS_SH" -c 'echo ${?}' -- this is valid as it's the same as $?
|
|
"$THIS_SH" -c 'echo ${:?}'
|
|
|
|
# then some funky ones
|
|
# note: bash prints 1 - treats it as "length of $#"? We print 0
|
|
"$THIS_SH" -c 'echo ${#?}'
|
|
# bash prints 0
|
|
"$THIS_SH" -c 'echo ${#:?}'
|
|
|
|
# now some valid ones
|
|
export msg_unset="unset!"
|
|
export msg_null_or_unset="null or unset!"
|
|
|
|
echo ====
|
|
"$THIS_SH" -c 'set --; echo _$1'
|
|
"$THIS_SH" -c 'set --; echo _${1?}'
|
|
"$THIS_SH" -c 'set --; echo _${1:?}'
|
|
"$THIS_SH" -c 'set --; echo _${1?message1}'
|
|
"$THIS_SH" -c 'set --; echo _${1:?message1}'
|
|
"$THIS_SH" -c 'set --; echo _${1?$msg_unset}'
|
|
"$THIS_SH" -c 'set --; echo _${1:?$msg_null_or_unset}'
|
|
|
|
echo ====
|
|
"$THIS_SH" -c 'set -- aaaa; echo _$1'
|
|
"$THIS_SH" -c 'set -- aaaa; echo _${1?}'
|
|
"$THIS_SH" -c 'set -- aaaa; echo _${1:?}'
|
|
"$THIS_SH" -c 'set -- aaaa; echo _${1?word}'
|
|
"$THIS_SH" -c 'set -- aaaa; echo _${1:?word}'
|
|
"$THIS_SH" -c 'set -- aaaa; echo _${1?$msg_unset}'
|
|
"$THIS_SH" -c 'set -- aaaa; echo _${1:?$msg_null_or_unset}'
|
|
|
|
echo ====
|
|
"$THIS_SH" -c 'unset f; echo _$f'
|
|
"$THIS_SH" -c 'unset f; echo _${f?}'
|
|
"$THIS_SH" -c 'unset f; echo _${f:?}'
|
|
"$THIS_SH" -c 'unset f; echo _${f?message3}'
|
|
"$THIS_SH" -c 'unset f; echo _${f:?message3}'
|
|
"$THIS_SH" -c 'unset f; echo _${f?$msg_unset}'
|
|
"$THIS_SH" -c 'unset f; echo _${f:?$msg_null_or_unset}'
|
|
|
|
echo ====
|
|
"$THIS_SH" -c 'f=; echo _$f'
|
|
"$THIS_SH" -c 'f=; echo _${f?}'
|
|
"$THIS_SH" -c 'f=; echo _${f:?}'
|
|
"$THIS_SH" -c 'f=; echo _${f?word}'
|
|
"$THIS_SH" -c 'f=; echo _${f:?message4}'
|
|
"$THIS_SH" -c 'f=; echo _${f?$msg_unset}'
|
|
"$THIS_SH" -c 'f=; echo _${f:?$msg_null_or_unset}'
|
|
|
|
echo ====
|
|
"$THIS_SH" -c 'f=fff; echo _$f'
|
|
"$THIS_SH" -c 'f=fff; echo _${f?}'
|
|
"$THIS_SH" -c 'f=fff; echo _${f:?}'
|
|
"$THIS_SH" -c 'f=fff; echo _${f?word}'
|
|
"$THIS_SH" -c 'f=fff; echo _${f:?word}'
|
|
"$THIS_SH" -c 'f=fff; echo _${f?$msg_unset}'
|
|
"$THIS_SH" -c 'f=fff; echo _${f:?$msg_null_or_unset}'
|