From 36f774a0cd2bf8dd72b192aab93831c5ac0c58f0 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 5 Sep 2010 14:45:38 +0200 Subject: 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 --- shell/hush_test/hush-vars/var_bash2.tests | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 shell/hush_test/hush-vars/var_bash2.tests (limited to 'shell/hush_test/hush-vars/var_bash2.tests') 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 000000000..29c526cef --- /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} -- cgit v1.2.3