X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=virt-what.in;h=d62f7c8109187df36f89afc398b8e318826427f7;hb=fc6413775e8fd011f9583280f30f7c46defa6723;hp=74ffab2cb57ccfafcfbb3629f4226832b9ec94d8;hpb=3ea952163f0c28cd88f8473bb015df892c4247bf;p=virt-what.git diff --git a/virt-what.in b/virt-what.in index 74ffab2..d62f7c8 100644 --- a/virt-what.in +++ b/virt-what.in @@ -26,6 +26,11 @@ # The following resources were useful in writing this script: # . http://www.dmo.ca/blog/20080530151107 +# Do not allow unset variables, and set defaults. +set -u +root='' +skip_qemu_kvm=false + VERSION="@VERSION@" function fail { @@ -43,7 +48,7 @@ function usage { # Handle the command line arguments, if any. -TEMP=`getopt -o v --long help --long version --long test-root: -n 'virt-what' -- "$@"` +TEMP=$(getopt -o v --long help --long version --long test-root: -n 'virt-what' -- "$@") if [ $? != 0 ]; then exit 1; fi eval set -- "$TEMP" @@ -78,19 +83,19 @@ fi # Many fullvirt hypervisors give an indication through CPUID. Use the # helper program to get this information. -cpuid=`virt-what-cpuid-helper` +cpuid=$(virt-what-cpuid-helper) # Check for various products in the BIOS information. # Note that dmidecode doesn't exist on non-PC architectures. On these, # this will return an error which is ignored (error message redirected # into $dmi variable). -dmi=`LANG=C dmidecode 2>&1` +dmi=$(LANG=C dmidecode 2>&1) # Architecture. # Note for the purpose of testing, we only call uname with -p option. -arch=`uname -p` +arch=$(uname -p) # Check for VMware. # cpuid check added by Chetan Loke. @@ -171,14 +176,14 @@ fi # Check for Parallels. if echo "$dmi" | grep -q 'Vendor: Parallels'; then echo parallels - skip_qemu_kvm=1 + skip_qemu_kvm=true fi # Check for Xen. if [ "$cpuid" = "XenVMMXenVMM" ]; then echo xen; echo xen-hvm - skip_qemu_kvm=1 + skip_qemu_kvm=true elif [ -f $root/proc/xen/capabilities ]; then echo xen if grep -q "control_d" $root/proc/xen/capabilities; then @@ -186,7 +191,7 @@ elif [ -f $root/proc/xen/capabilities ]; then else echo xen-domU fi - skip_qemu_kvm=1 + skip_qemu_kvm=true elif [ -f $root/sys/hypervisor/type ] && grep -q "xen" $root/sys/hypervisor/type; then # Ordinary kernel with pv_ops. There does not seem to be @@ -197,7 +202,7 @@ elif [ "$arch" = "ia64" ]; then if [ -d $root/sys/bus/xen -a ! -d $root/sys/bus/xen-backend ]; then # PV-on-HVM drivers installed in a Xen guest. echo xen - echo xen-domU + echo xen-hvm else # There is no virt leaf on IA64 HVM. This is a last-ditch # attempt to detect something is virtualized by using a @@ -217,7 +222,7 @@ fi # seen that it's Parallels. Xen uses QEMU as the device model, so # skip this test if we know it is Xen. -if [ ! "$skip_qemu_kvm" ]; then +if ! $skip_qemu_kvm; then if [ "$cpuid" = "KVMKVMKVM" ]; then echo kvm else