| if test $# != 0; then |
| exec "$THIS_SH" "$0" |
| fi |
| |
| # No params! |
| for a in "$*"; do echo Should be printed; done |
| for a in "$@"; do echo Should not be printed; done |
| # Yes, believe it or not, bash is mesmerized by "$@" and stops |
| # treating "" as "this word cannot be expanded to nothing, |
| # but must be at least null string". Now it can be expanded to nothing. |
| for a in "$@"""; do echo Should not be printed; done |
| for a in """$@"; do echo Should not be printed; done |
| for a in """$@"''"$@"''; do echo Should not be printed; done |
| for a in ""; do echo Should be printed; done |