我正在使用名为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
有时我的脚本会回应第一行或第二行的最后一个字,而不是最后一个字。如何强制它等到命令完成?
答案 0 :(得分:0)
如果有效,请尝试此操作。
lastline=`echo $BFCONVERT | tail -1`
AMI=${lastline##* }
echo $AMI