如何在管道内分配变量

如何在管道内分配变量

我正在 bash 中构建一个衬垫。
如果制作脚本或编写临时文件是一种选择,我就不需要询问。

我需要在一组管道的中间分配一个变量以供后续使用。

    cat list | awk '{print $1".modifications_to_name"' | (capture $NAME and pass $NAME down pipe) \
    | checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

答案1

忽略你的 awk 缺少大括号,并假设 list 包含一行,为什么不:NAME=$( cat list | awk '{print $1".modifications_to_name"') && checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

如果您想迭代具有多行的列表,并且每次都将名称评估为不同的内容:

while read NAME; do checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME ; done < <(cat list | awk '{print $1".modifications_to_name"')

这似乎是一个XY问题虽然。

相关内容