Ниже представлены 4 bash фрагмента. Я называю их ./script.sh a b c
for arg in [email protected]; do
echo "$arg"
done ## output "a\nb\nc"
for arg in "[email protected]"; do
echo "$arg"
done ## output "a\nb\nc" -- I don't know why
for arg in $*; do
echo "$arg"
done ## output "a\nb\nc"
for arg in "$*"; do
echo "$arg"
done ## output "abc"
Я не знаю, что такое точная разница между [email protected]
и $*
,
и я думаю, что "[email protected]"
и "$*"
должны быть одинаковыми, но это не так. Почему?