Test cases from the mind of Ryan Gibb; only those that were designed to torture shell users and shell authors alike. $ cat > test.sh << EOF > > for arg in \$@; do > echo "No quote: \$arg" > done > > for arg in "\$@"; do > echo "In quotes quote: \$arg" > done > EOF $ sh test.sh a b "c d" No quote: a No quote: b No quote: c No quote: d In quotes quote: a In quotes quote: b In quotes quote: c d $ msh test.sh a b "c d" No quote: a No quote: b No quote: c No quote: d In quotes quote: a In quotes quote: b In quotes quote: c d