starquoted2.tests 740 B

12345678910111213141516171819
  1. if test $# != 0; then
  2. exec "$THIS_SH" "$0"
  3. fi
  4. # No params!
  5. for a in "$*"; do echo Should be printed; done
  6. for a in "$@"; do echo Should not be printed; done
  7. # Yes, believe it or not, bash is mesmerized by "$@" and stops
  8. # treating "" as "this word cannot be expanded to nothing,
  9. # but must be at least null string". Now it can be expanded to nothing.
  10. for a in "$@"""; do echo Would not be printed by bash; done
  11. for a in """$@"; do echo Would not be printed by bash; done
  12. for a in """$@"''"$@"''; do echo Would not be printed by bash; done
  13. for a in ""; do echo Should be printed; done
  14. # Bug 207: "$@" expands to nothing, and we erroneously glob "%s\n" twice:
  15. printf 'Empty:%s\n' "$@"
  16. printf "Empty:%s\n" "$@"
  17. printf "Empty:%s\\n" "$@"