如何用<<<运算符读取整行?

Phi*_* A. 3 bash

我需要验证一些程序输出.我知道输出包含三行,我想存储在不同的变量中以便于访问.我尝试了以下几种变体而没有成功.

IFS=$'\n' read line1 line2 line3 <<< $(grep pattern file.log)
IFS='' read line1 line2 line3 <<< $(grep pattern file.log)
Run Code Online (Sandbox Code Playgroud)

是否有可能结合read<<<做我想做的事情?怎么样?

如果不可能,那么解释是什么?你有什么选择吗?

谢谢.

koj*_*iro 5

{
    read line1
    read line2
    read line3
} < <(grep pattern file.log) 
Run Code Online (Sandbox Code Playgroud)

我觉得$()在herestring ()之后放置一个命令substitution()<<<是一个不必要的扭曲,就像试图read一次读取多行一样.这是read复合命令中的多个s是自然解决方案的情况.