我一直在从我创建的文件中读取行,并希望使用变量并避免写入存储。不确定这是否可以轻松完成。工作代码开始如下
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"
这不起作用,因为换行符被删除了,并且变量中有一个巨大的“行”,需要一次性全部读入。变量字符串有“)”,它以正确的位置结尾,可以用作分隔符,但“读取”键位于换行符上。有什么简单的解决方法吗?
..谢谢观看...
答案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)
有关该<<<
运营商及其同类运营商的更多详细信息,请参阅: