等到命令在Bash中完成

时间:2016-06-24 20:31:42

标签: bash boxfuse

我正在使用名为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

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

1 个答案:

答案 0 :(得分:0)

如果有效,请尝试此操作。

lastline=`echo $BFCONVERT | tail -1`
AMI=${lastline##* }
echo $AMI