castomi
@castomi
Серверный администратор - tickets.settin.ru

Как подать переменную на вход цикла?

Есть переменная, в ней вот такого плана строки
детский 
с аккумулятором

А именно, есть строка в одно слово, есть с пробелом. Мне необходимо обработать переменную построчно. Если обрабатываю через for, то он разбивает строки на слова и обрабатывает слова поштучно в цикле. Знаю что есть вот такой вариант цикла
while read line
do
...
done <file

То есть я могу записать свою переменную в файл и обработать таким образом, но мне интересно, а могу ли я обработать так сразу переменную?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
a='a a a
b b b
c c c'

# вариант 1
echo "$a" | while read x; do
   echo "---$x---"
done

# вариант 2
while read x; do
   echo "---$x---"
done < <(echo "$a")
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xotkot
@xotkot
хорошо есть и хорошо весьма
line='детский
с аккумулятором'

IFS=$'\n'
for i in $line; do
	echo "$i"
	echo "---------"
done
unset IFS

детский
---------
с аккумулятором
---------
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы