summaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-vars/var_bash2.tests
diff options
context:
space:
mode:
authorDenys Vlasenko2010-09-05 14:45:38 +0200
committerDenys Vlasenko2010-09-05 14:47:58 +0200
commit36f774a0cd2bf8dd72b192aab93831c5ac0c58f0 (patch)
treeafa0b3d247e4dd163b89b7b61f4e3e0f3143b102 /shell/hush_test/hush-vars/var_bash2.tests
parent701e127f7d892909a58c6f3333e23588ccef9e22 (diff)
downloadbusybox-36f774a0cd2bf8dd72b192aab93831c5ac0c58f0.zip
busybox-36f774a0cd2bf8dd72b192aab93831c5ac0c58f0.tar.gz
hush: add support for ${var/pattern/repl}, conditional on bash compat
function old new delta expand_vars_to_list 2386 2833 +447 expand_string_to_string 69 110 +41 parse_dollar 681 721 +40 hush_main 963 945 -18 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/1 up/down: 528/-18) Total: 510 bytes Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'shell/hush_test/hush-vars/var_bash2.tests')
-rwxr-xr-xshell/hush_test/hush-vars/var_bash2.tests24
1 files changed, 24 insertions, 0 deletions
diff --git a/shell/hush_test/hush-vars/var_bash2.tests b/shell/hush_test/hush-vars/var_bash2.tests
new file mode 100755
index 0000000..29c526c
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_bash2.tests
@@ -0,0 +1,24 @@
+var=abc123dcba123
+
+echo ${var/d/x}
+echo ${var/c/x}
+echo ${var//c/x}
+echo ${var/[123]/x}
+echo ${var//[123]/x}
+echo ${var/c*/x}
+echo ${var/*c/x}
+
+# must match longest match: result is "abx23"
+echo ${var/c*1/x}
+
+# empty replacement - 2nd slash can be omitted
+echo ${var/[123]}
+echo ${var//[123]}
+
+### ash doesn't support
+### # match only at the beginning:
+### echo ${var/#a/x}
+### echo ${var/#b/x} # should not match
+### echo ${var//#b/x} # should not match
+### # match only at the end:
+### echo ${var/%3/x}