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