Answers:
该<( COMMAND )
击构建体被称为进程替换。
它评估COMMAND
内部并将其输出重定向到FIFO(一个命名管道),该管道在内部/dev/fd
分配了一个虚拟文件描述符。它的作用就像一个包含评估命令输出的临时文件。
该<
猛砸结构被称为输入重定向。
它在右侧使用文件描述符,然后将其内容重定向到左侧命令的STDIN(标准输入)。
该-
不是猛砸构建而是为参数sed
,指定其输入文件。特殊值-
表示要从STDIN读取(这也是sed
默认值,因此可以省略)。
sed 's/^.*= //' - < <(openssl dgst -sha256 filename)
该行首先运行openssl dgst -sha256 filename
并将其输出缓存在FIFO中。代表此命名管道的文件描述符被视为输入文件,该文件重定向到的STDIN sed 's/^.*= //' -
。此sed
命令从STDIN读取,并删除“ =”符号前的所有字符,后跟空格。
openssl ... | sed '...'