我正在尝试根据应用程序的输出结果(地形计划)创建一个变量。
我需要将输出显示到stdout,然后根据最后一行创建一个变量。
如果将输出发送到stderr或tty,我就能使它工作,就像这样:
CHANGES=$(terraform plan | tee /dev/stdout | tail -1)
但是它必须转到stdout。
任何建议都是有帮助的
谢谢!
答案 0 :(得分:0)
关闭。您的尾管正在使用stdout
(这是管子所做的)。您不希望命令转到stdout
(不仅是stdout
),还希望它显示在终端上。
CHANGES=$(terraform plan | tee /dev/tty | tail -1)
这将打印 entire terraform plan
输出到终端,并得到CHANGES
仅包含最后一行。相反,如果您只想将terraform plan
的最后一行放入变量和终端中,则可能最简单
CHANGES=$(terraform plan | tail -1)
echo "$CHANGES"