Bash
如何在管道中分配變數
我正在用 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問題。