aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ash_test/ash-vars/param_expand_alt.right2
-rwxr-xr-xshell/ash_test/ash-vars/param_expand_alt.tests9
-rw-r--r--shell/hush_test/hush-vars/param_expand_alt.right2
-rwxr-xr-xshell/hush_test/hush-vars/param_expand_alt.tests9
4 files changed, 16 insertions, 6 deletions
diff --git a/shell/ash_test/ash-vars/param_expand_alt.right b/shell/ash_test/ash-vars/param_expand_alt.right
index c733c147a..1303f8064 100644
--- a/shell/ash_test/ash-vars/param_expand_alt.right
+++ b/shell/ash_test/ash-vars/param_expand_alt.right
@@ -1,6 +1,6 @@
1SHELL: line 1: syntax error: bad substitution 1SHELL: line 1: syntax error: bad substitution
2SHELL: line 1: syntax error: bad substitution 2SHELL: line 1: syntax error: bad substitution
3_0_ __ 3__
4_z_ _z_ 4_z_ _z_
5_ _ _ _ _ 5_ _ _ _ _
6_aaaa _ _ _word _word 6_aaaa _ _ _word _word
diff --git a/shell/ash_test/ash-vars/param_expand_alt.tests b/shell/ash_test/ash-vars/param_expand_alt.tests
index d80452434..23e9a26be 100755
--- a/shell/ash_test/ash-vars/param_expand_alt.tests
+++ b/shell/ash_test/ash-vars/param_expand_alt.tests
@@ -6,8 +6,13 @@
6# now some funky ones. 6# now some funky ones.
7# ${V+word} "if V unset, then substitute nothing, else substitute word" 7# ${V+word} "if V unset, then substitute nothing, else substitute word"
8# ${V:+word} "if V unset or '', then substitute nothing, else substitute word" 8# ${V:+word} "if V unset or '', then substitute nothing, else substitute word"
9# bash doesn't accept ${#+}. ash prints 0 (not $#): "len of $+" 9#
10echo _${#+}_ _${#:+}_ 10# ${#:+} is a :+ op on $#, but ${#+} (and any other ${#c}) is "length of $c",
11# not + op on $#.
12# bash and dash do not accept ${#+}. it's possible for some shell to skip
13# the check that c is valid and interpret ${#+} as "len of $+". Not testing it.
14# echo _${#+}_
15echo _${#:+}_
11# Forms with non-empty word work as expected in both ash and bash. 16# Forms with non-empty word work as expected in both ash and bash.
12echo _${#+z}_ _${#:+z}_ 17echo _${#+z}_ _${#:+z}_
13 18
diff --git a/shell/hush_test/hush-vars/param_expand_alt.right b/shell/hush_test/hush-vars/param_expand_alt.right
index 4f9eb2907..c46786e1f 100644
--- a/shell/hush_test/hush-vars/param_expand_alt.right
+++ b/shell/hush_test/hush-vars/param_expand_alt.right
@@ -1,6 +1,6 @@
1hush: syntax error: unterminated ${name} 1hush: syntax error: unterminated ${name}
2hush: syntax error: unterminated ${name} 2hush: syntax error: unterminated ${name}
3__ __ 3__
4_z_ _z_ 4_z_ _z_
5_ _ _ _ _ 5_ _ _ _ _
6_aaaa _ _ _word _word 6_aaaa _ _ _word _word
diff --git a/shell/hush_test/hush-vars/param_expand_alt.tests b/shell/hush_test/hush-vars/param_expand_alt.tests
index d80452434..23e9a26be 100755
--- a/shell/hush_test/hush-vars/param_expand_alt.tests
+++ b/shell/hush_test/hush-vars/param_expand_alt.tests
@@ -6,8 +6,13 @@
6# now some funky ones. 6# now some funky ones.
7# ${V+word} "if V unset, then substitute nothing, else substitute word" 7# ${V+word} "if V unset, then substitute nothing, else substitute word"
8# ${V:+word} "if V unset or '', then substitute nothing, else substitute word" 8# ${V:+word} "if V unset or '', then substitute nothing, else substitute word"
9# bash doesn't accept ${#+}. ash prints 0 (not $#): "len of $+" 9#
10echo _${#+}_ _${#:+}_ 10# ${#:+} is a :+ op on $#, but ${#+} (and any other ${#c}) is "length of $c",
11# not + op on $#.
12# bash and dash do not accept ${#+}. it's possible for some shell to skip
13# the check that c is valid and interpret ${#+} as "len of $+". Not testing it.
14# echo _${#+}_
15echo _${#:+}_
11# Forms with non-empty word work as expected in both ash and bash. 16# Forms with non-empty word work as expected in both ash and bash.
12echo _${#+z}_ _${#:+z}_ 17echo _${#+z}_ _${#:+z}_
13 18