Возможный считать “строки” из переменной?

Я читал строки из файла, который я создал и хотел бы использовать переменную и постараться не писать в устройство хранения данных. Не уверенный, если это может легко быть сделано. Рабочий код начинается следующим образом

sensors | grep "Core" > temp.tmp
input=./temp.tmp
while IFS= read -r line
do
--etc--
done < "$input"

Вышеупомянутое хорошо работает, но я должен найти хорошее местоположение для временного файла и думал, что мог просто постараться не писать в устройство хранения данных в целом. Попробованный следующее

input=`sensors | grep "Core"`
while IFS= read -r line
do
--etc--
done < "$input"

Это не работало, когда разделители новой строки были удалены, и переменная имеет огромную "строку", которая читается во внезапно. Переменная строка имеет")", которые заканчиваются в корректном месте, которое будет использоваться в качестве разделителя, но "чтение" включает новую строку. Кто-либо легкая фиксация?

.. благодарит смотреть...

3
задан 12 December 2019 в 20:14

1 ответ

Вам даже не нужна переменная, уже не говоря о файле:

sensors | grep "Core" | while IFS= read -r line
do
    command
done

, Но да, Вы могли также читать из переменной:

input=$(sensors | grep Core)
$ while IFS= read -r line; do echo "$line"; done <<<"$input"
Core 0: +80.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +80.0°C (high = +100.0°C, crit = +100.0°C)
Core 2: +81.0°C (high = +100.0°C, crit = +100.0°C)
Core 3: +80.0°C (high = +100.0°C, crit = +100.0°C)

для получения дополнительной информации на <<< оператор и его братья видят:

, Как сказать, какой параметр предоставляется команде с redirectioin оператором?

, Каковы операторы управления и перенаправления оболочки?

5
ответ дан 21 December 2019 в 23:34

Другие вопросы по тегам:

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