Я читал строки из файла, который я создал и хотел бы использовать переменную и постараться не писать в устройство хранения данных. Не уверенный, если это может легко быть сделано. Рабочий код начинается следующим образом
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"
Это не работало, когда разделители новой строки были удалены, и переменная имеет огромную "строку", которая читается во внезапно. Переменная строка имеет")", которые заканчиваются в корректном месте, которое будет использоваться в качестве разделителя, но "чтение" включает новую строку. Кто-либо легкая фиксация?
.. благодарит смотреть...
Вам даже не нужна переменная, уже не говоря о файле:
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 оператором?