On 03/19/2014 08:19 AM, Jeff Cody wrote:
>>> + then
>>> + _timed_wait_for ${h} "${@: -1}"
>>
>> You have done shift before this. Aren't ${*} the remaining strings to wait
>> for ?
>>
>
> I could probably get rid of the 2nd shift, although I would have to
> adjust the conditional below.
>
> I do ${@: -1} because I want the very last whole string to be the item
> to wait for - this is only needed to accommodate pathnames with spaces
> inside the QMP string.
${@: -1} is not portable:
$ bash -c 'set 1 2 3; echo ${@: -1}'
3
$ dash -c 'set 1 2 3; echo ${@: -1}'
dash: 1: Bad substitution
If you want the last argument, you'll have to do something hideous like:
eval \${$#}
Short of using eval, there is no portable way to get at the last
positional argument in dash.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
