Bash

如何在管道中分配變數

  • February 12, 2016

我正在用 bash 建構一個單列。

如果製作腳本或編寫臨時文件是一種選擇,我不需要問。

我需要在一組管道中間分配一個變數來使用。

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

忽略您的 awk 缺少大括號,並假設 list 包含一行,為什麼不:NAME=$( cat list | awk '{print $1".modifications_to_name"') && checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

如果您想遍歷包含多行的列表,並且每​​次都將 name 評估為不同的值:

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

不過,這似乎是一個XY問題。

引用自:https://unix.stackexchange.com/questions/261851