0

我正在使用一个名为 Boxfuse 的实用程序,convert 命令执行一些需要一些时间的处理,并且在此处理过程中有几行输出。

我正在尝试将最后一个输出中的最后一个单词保存到一个变量中。这大约有一半的时间有效。另一半实际上保存了较早输出行之一的最后一个单词。我的 bash 看起来像这样:

BFCONVERT=$(boxfuse convert MyApp:1.3.5)
AMI=${BFCONVERT##* }
echo $AMI

此命令的完整输出,跨越几行,超过一分钟左右:

Boxfuse client v.1.19.12.1000 Copyright 2016 Boxfuse GmbH. All rights reserved. Account: myname (First Last) 
Waiting for AWS to create an AMI for myname/MyApp:1.3.5 in aws-region-1 (this may take up to 50 seconds) ... 
AMI created in 02:51.972s in aws-region-1 -> ami-12345678

有时我的脚本会呼应第一行或第二行的最后一个词,而不是最后一个词。如何强制它等到命令完成?

4

1 回答 1

0

如果它有效,试试这个。

lastline=`echo $BFCONVERT | tail -1`
AMI=${lastline##* }
echo $AMI
于 2016-06-24T20:41:53.633 回答