[ClusterLabs] Antw: Need bash instead of /bin/sh

Vladislav Bogdanov bubble at hoster-ok.com
Wed Sep 23 13:24:24 UTC 2015


23.09.2015 15:42, dan wrote:
> ons 2015-09-23 klockan 14:08 +0200 skrev Ulrich Windl:
>>>>> dan <dan.oscarsson at intraphone.com> schrieb am 23.09.2015 um 13:39 in Nachricht
>> <1443008370.2386.8.camel at intraphone.com>:
>>> Hi
>>>
>>> As I had problem with corosync 2.3.3 and pacemaker 1.1.10 which was
>>> default in my version of ubuntu, I have now compiled and installed
>>> corosync 2.3.4 and pacemaker 1.1.12.
>>>
>>> And now it works.
>>>
>>> Though the file /usr/lib/ocf/resource.d/pacemaker/controld
>>> does not work as /bin/sh is linked to dash on ubuntu (and I think
>>> several other Linux variants).
>>>
>>> It is line 182:
>>>              local addr_list=$(cat
>>> /sys/kernel/config/dlm/cluster/comms/*/addr_list 2>/dev/null)
>>
>> That looks like plain POSIX shell to me. What part is causing the problem?
>
> Did a small test:
> ---------------test.sh----------------
> controld_start() {
>      local addr_list=$(echo AF_INET 10.1.1.1 AF_INET 10.1.1.2)
yep, that is a bashism.

posix shell denies assignment of local variables in the declaration.

local addr_list; addr_list=$(echo AF_INET 10.1.1.1 AF_INET 10.1.1.2)

should work

>      echo $addr_list
> }
>
> controld_start
> --------------------------------------
>
> dash test.sh
> test.sh: 2: local: 10.1.1.1: bad variable name
>
> bash test.sh
> AF_INET 10.1.1.1 AF_INET 10.1.1.2
>
>
>      Dan
>
>
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
>
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org
>





More information about the Users mailing list