Re: [virt-what] review of allow to use sysctl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Anatoly,

On Sat, Aug 25, 2018 at 12:36:54PM +0300, Anatoly Pugachev wrote:
Hello!

virt-what$ git desc
v1.18-6-gd7fd8a7

Latest commit in git "Allow using sysctl, for example when /proc isn't
available"
doesn't look good for me. Can someone please review/revert this commit
or explain me what does this code do (git show -1):

What this is meant to achieve, is that use_sysctl would return true
(a 0 exit code) if the OS is OpenBSD. Might be clearer if it added a
line like 'return $?' after the [..], but it is unnecessary.



+use_sysctl() {
+    # Lacking /proc, on some systems sysctl can be used instead.
+    OS=$(uname) || fail "failed to get operating system name"
+
+    [ "$OS" == "OpenBSD" ]
+}

Running on a linux:

virt-what# PATH=$PATH:. ./virt-what
./virt-what: 45: [: Linux: unexpected operator

The test operator should be seeing something like:

 [ "Linux" == "OpenBSD" ]

but the error you're seeing looks more like what happens if a shell
interprets it differently - or at least is getting something else,
like the following:

 [ somethingelse Linux == "OpenBSD" ]

which will give an error like you're seeing above in some shells
(not all), where it is interpreting the 'Linux' as an operator, and
is similar to:

 /bin/test somethingelse Linux == "OpenBSD"

where the shell doesn't have an internal implementation of '[', like
some older bourne shell versions.

But, even if uname outputs more than one word, it should be
contained by the quotes in "$OS" in the test code above - on
whatever shell you're using that doesn't appear to be the case.

You might get more of an idea of what is happening by running the
shellscript with the -x option, e.g.

 virt-what# PATH=$PATH:. /bin/sh -x ./virt-what

Thanks,

Darren.

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list



[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux