LINUX.ORG.RU
Ответ на: комментарий от derlafff
tmp$ cat tmp.sh 
for line in "$@"; do
	echo $line
done
tmp$ bash tmp.sh thats what "you think"
thats
what
you think
tmp$ cat tmp-without-quotes.sh 
for line in $@; do
	echo $line
done
tmp$ bash tmp-without-quotes.sh thats what "you think"
thats
what
you
think

А в echo кавычки (на всякий случай, если не знаешь) абсолютно бесполезны, мой юный занудный друг.

anonymous
()

Или как заменить неэкранированные пробелы на перенос строки?

sed s/\ /\n//g
не проверял.

dada ★★★★★
()
Ответ на: комментарий от anonymous

А в echo кавычки (на всякий случай, если не знаешь) абсолютно бесполезны

Если есть больше одного пробела подряд без кавычек они потеряются (останется один). Так что не бесполезны, наш юный анонимный друг.

sdio ★★★★★
()
Ответ на: комментарий от derlafff

нужно без двойных кавычек в for

В bash'e $@ и "$@" это разные вещи. Читай ман баш.

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от anonymous

действительно, мне почему-то казалось, что все наоборот

А в echo кавычки (на всякий случай, если не знаешь) абсолютно бесполезны

в echo — да, но незадачливый ТС может споконо заменить его на любую другую команду

мой юный занудный друг

и тебе дружбомагии, неюный незанудный миша

derlafff ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.