1 #
2 # Test $0 $1 $2
3
4 #### Normal and braced
5 $SH -c 'echo $0 $1 ${2}' a b c d
6 ## stdout: a b c
7
8 #### In function
9 func() {
10 echo $1 ${2}
11 }
12 func a b c d
13 ## stdout: a b
14
15 #### $0 with -c
16 $SH -c 'echo $0' | grep -o 'sh$'
17 ## stdout: sh
18
19 #### $0 with stdin
20 echo 'echo $0' | $SH | grep -o 'sh$'
21 ## stdout: sh
22
23 #### $0 with -i
24 echo 'echo $0' | $SH -i | grep -o 'sh$'
25 ## stdout: sh
26
27 #### $0 with filename
28 s=_tmp/dollar0
29 echo 'echo $0' > $s
30 chmod +x $s
31 $SH $s
32 ## stdout: _tmp/dollar0
33
34 #### $@ with filename
35 s=_tmp/dollar0
36 echo 'echo $@' > $s
37 chmod +x $s
38 $SH $s a b c
39 ## stdout: a b c