May 10, 2019 13:25
очередная записка «не забыть».
делаю некий парсер.
он ищет в файле строки по совпадению.
чисто в консоли - все гут:
grep 123456 file.txt
получаю нормальный МНОГОСТРОЧНЫЙ результат:
123456; abc;
123456; def;
но когда в коде делаю
var=$(grep 123456 file.txt)
и потом вывожу эту переменную, то получается
123456; abc; 123456; def;
то есть, съедаются переводы строки
как оказалось, ничего не съедается:
если выводить переменную как
echo $var
то переменная выводится путем перечисления (foreach) всех её элементов через IFS (по-умолчанию, пробел).
а если как
echo "$var"
то содержимое не анализируется и выводится «как сохранено».
это же работает и в других местах, кроме echo