[virt-tools-list] [virt-what PATCH] Remove bashisms
Eric Blake
eblake at redhat.com
Fri Aug 4 14:37:53 UTC 2017
On 08/04/2017 09:25 AM, Guido Günther wrote:
> Use [ instead of [[
Good.
> and -a instead of &&
Absolutely not. Per POSIX, 'test cond1 -a cond2' is not portable; only
'test cond1 && test cond2' is.
> so we fall back to test if
> necessary:
>
> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
> ---
> virt-what.in | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/virt-what.in b/virt-what.in
> index 8c27b11..56af1ad 100644
> --- a/virt-what.in
> +++ b/virt-what.in
> @@ -360,20 +360,20 @@ if [ "$cpuid" = "OpenBSDVMM58" ]; then
> fi
>
> # Check for LDoms
> -if [[ "$arch" == sparc* && -e ${root}/dev/mdesc ]]; then
> +if [ ${arch#sparc} != "$arch" -a -e ${root}/dev/mdesc ]; then
Incorrect quoting and invalid use of -a. (Use of [[ doesn't need
quotes, because it's shell syntax; but use of [ needs quoting in case
$arch or $root contains spaces or globbing characters)
Should be:
if [ "${arch#sparc}" != "$arch ] && [ -e "${root}/dev/mdesc" ]; then
> echo ldoms
> - if [[ -d ${root}/sys/class/vlds/ctrl && \
> - -d ${root}/sys/class/vlds/sp ]]; then
> + if [ -d ${root}/sys/class/vlds/ctrl -a \
> + -d ${root}/sys/class/vlds/sp ]; then
Similar incorrect quoting and -a.
> echo ldoms-control
> else
> echo ldoms-guest
> fi
> MDPROP="${root}/usr/lib/ldoms/mdprop.py"
> - if [[ -x ${MDPROP} ]]; then
> - if [[ -n $($MDPROP -v iodevice device-type=pciex) ]]; then
> + if [ -x ${MDPROP} ]; then
> + if [ -n $($MDPROP -v iodevice device-type=pciex) ]; then
More missing quoting.
> echo ldoms-root
> echo ldoms-io
> - elif [[ -n $($MDPROP -v iov-device vf-id=0) ]]; then
> + elif [ -n $($MDPROP -v iov-device vf-id=0) ]; then
and again
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20170804/bbcb3848/attachment.sig>
More information about the virt-tools-list
mailing list