diff options
author | Denys Vlasenko | 2010-09-05 14:45:38 +0200 |
---|---|---|
committer | Denys Vlasenko | 2010-09-05 14:47:58 +0200 |
commit | 36f774a0cd2bf8dd72b192aab93831c5ac0c58f0 (patch) | |
tree | afa0b3d247e4dd163b89b7b61f4e3e0f3143b102 /shell/hush_test/hush-vars/var_bash2.tests | |
parent | 701e127f7d892909a58c6f3333e23588ccef9e22 (diff) | |
download | busybox-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-x | shell/hush_test/hush-vars/var_bash2.tests | 24 |
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} |