source: MondoRescue/branches/2.2.9/mindi-busybox/shell/hush_test/hush-vars/param_expand_bash_substring.tests@ 2725

Last change on this file since 2725 was 2725, checked in by Bruno Cornec, 13 years ago
  • Update mindi-busybox to 1.18.3 to avoid problems with the tar command which is now failing on recent versions with busybox 1.7.3
  • Property svn:executable set to *
File size: 2.3 KB
Line 
1# first try some invalid patterns
2# do all of these in subshells since it's supposed to error out
3export var=0123456789
4"$THIS_SH" -c 'echo ${:}'
5"$THIS_SH" -c 'echo ${::}'
6"$THIS_SH" -c 'echo ${:1}'
7"$THIS_SH" -c 'echo ${::1}'
8
9#this also is not valid in bash, but we accept it:
10"$THIS_SH" -c 'echo ${var:}'
11
12# then some funky ones
13# UNFIXED BUG: this should work: "$THIS_SH" -c 'echo ${?:0}'
14
15# now some valid ones
16set --; echo "1 =|${1}|"
17set --; echo "1:1 =|${1:1}|"
18set --; echo "1:1:2=|${1:1:2}|"
19set --; echo "1::2 =|${1::2}|"
20set --; echo "1:1: =|${1:1:}|"
21set --; echo "1:: =|${1::}|"
22
23set -- 0123; echo "1 =|${1}|"
24set -- 0123; echo "1:1 =|${1:1}|"
25set -- 0123; echo "1:1:2=|${1:1:2}|"
26set -- 0123; echo "1::2 =|${1::2}|"
27set -- 0123; echo "1:1: =|${1:1:}|"
28set -- 0123; echo "1:: =|${1::}|"
29
30unset f; echo "f =|$f|"
31unset f; echo "f:1 =|${f:1}|"
32unset f; echo "f:1:2=|${f:1:2}|"
33unset f; echo "f::2 =|${f::2}|"
34unset f; echo "f:1: =|${f:1:}|"
35unset f; echo "f:: =|${f::}|"
36
37f=; echo "f =|$f|"
38f=; echo "f:1 =|${f:1}|"
39f=; echo "f:1:2=|${f:1:2}|"
40f=; echo "f::2 =|${f::2}|"
41f=; echo "f:1: =|${f:1:}|"
42f=; echo "f:: =|${f::}|"
43
44f=a; echo "f =|$f|"
45f=a; echo "f:1 =|${f:1}|"
46f=a; echo "f:1:2=|${f:1:2}|"
47f=a; echo "f::2 =|${f::2}|"
48f=a; echo "f:1: =|${f:1:}|"
49f=a; echo "f:: =|${f::}|"
50
51f=0123456789; echo "f =|$f|"
52f=0123456789; echo "f:1 =|${f:1}|"
53f=0123456789; echo "f:1:2=|${f:1:2}|"
54f=0123456789; echo "f::2 =|${f::2}|"
55f=0123456789; echo "f:1: =|${f:1:}|"
56f=0123456789; echo "f:: =|${f::}|"
57
58echo "Substrings from special vars"
59echo '? '"=|$?|"
60echo '?:1 '"=|${?:1}|"
61echo '?:1:2'"=|${?:1:2}|"
62echo '?::2 '"=|${?::2}|"
63echo '?:1: '"=|${?:1:}|"
64echo '?:: '"=|${?::}|"
65set -- 1 2 3 4 5 6 7 8 9 10 11
66echo '# '"=|$#|"
67echo '#:1 '"=|${#:1}|"
68echo '#:1:2'"=|${#:1:2}|"
69echo '#::2 '"=|${#::2}|"
70echo '#:1: '"=|${#:1:}|"
71echo '#:: '"=|${#::}|"
72
73echo "Substrings with expressions"
74f=01234567; echo 'f '"=|$f|"
75f=01234567; echo 'f:1+1:2+2 '"=|${f:1+1:2+2}|"
76f=01234567; echo 'f:-1:2+2 '"=|${f:-1:2+2}|"
77f=01234567; echo 'f:1:f '"=|${f:1:f}|"
78f=01234567; echo 'f:1:$f '"=|${f:1:$f}|"
79f=01234567; echo 'f:1:${f} '"=|${f:1:${f}}|"
80f=01234567; echo 'f:1:${f:3:1} '"=|${f:1:${f:3:1}}|"
81f=01234567; echo 'f:1:1`echo 1`'"=|${f:1:`echo 1`}|"
82
83echo Done
Note: See TracBrowser for help on using the repository browser.