| 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 Would not be printed by bash; done |
| for a in """$@"; do echo Would not be printed by bash; done |
| for a in """$@"''"$@"''; do echo Would not be printed by bash; done |
| for a in ""; do echo Should be printed; done |
| |
| # Bug 207: "$@" expands to nothing, and we erroneously glob "%s\n" twice: |
| printf 'Empty:%s\n' "$@" |
| printf "Empty:%s\n" "$@" |
| printf "Empty:%s\\n" "$@" |