Re: [PATCH] selftests/mm: switch to bash from sh

From: Muhammad Usama Anjum
Date: Wed Jan 17 2024 - 00:00:45 EST


On 1/16/24 9:52 PM, David Laight wrote:
> From: Muhammad Usama Anjum
>> Sent: 16 January 2024 09:05
>>
>> Running charge_reserved_hugetlb.sh generates errors if sh is set to
>> dash:
>>
>> /charge_reserved_hugetlb.sh: 9: [[: not found
>> /charge_reserved_hugetlb.sh: 19: [[: not found
>> /charge_reserved_hugetlb.sh: 27: [[: not found
>> /charge_reserved_hugetlb.sh: 37: [[: not found
>> /charge_reserved_hugetlb.sh: 45: Syntax error: "(" unexpected
>>
>> Switch to using /bin/bash instead of /bin/sh. Make the switch for
>> write_hugetlb_memory.sh as well which is called from
>> charge_reserved_hugetlb.sh.
>
> Why not just fix the script?
The Bash is being used in all or most of the selftests. I'd seen other
similar [1][2] patches floating around which are converting /bin/sh
(pointing to dash) to /bin/bash.

[1]
https://lore.kernel.org/linux-kselftest/20240110141436.157419-2-bpoirier@xxxxxxxxxx/

[2]
https://lore.kernel.org/linux-kselftest/20231229131931.3961150-1-yujie.liu@xxxxxxxxx/

> Looks like most of the [[ ... ]] could be [ ... ]
> although some might need to be [ -n "$cgroup2" ].
> The delete the 'function' keyword another bash-ism.
>
> It's not as though you are trying to run on a system
> when /bin/sh is a traditional (aka non-posix) bourne shell.
>
> David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)
>
>

--
BR,
Muhammad Usama Anjum