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