Re: patch to fix bashism

From: David Weinehall
Date: Sat Apr 09 2005 - 15:19:24 EST


On Fri, Apr 08, 2005 at 11:11:38PM +0159, Han Boetes wrote:
> Hi,
>
> This patch fixes a three bashisms in
> scripts/gen_initramfs_list.sh;
>
> I'm not sure of the intention of the second change (local
> name=...). So it's very well possible that:
>
> + local name="${location%/$srcdir}"
>
> is more appropriate.

This patch is not going to work; local is a bash:ism too, hence this
will fail when /bin/sh is a more strict POSIX-shell. However,
it is quite likely that the use of local is merely due to the
(totally correct) instinct of always limiting the scope of variables.
Most scripts that I've POSIX-fixed so far could just have the local
removed with no bad effects.

> --- scripts/gen_initramfs_list.sh.orig 2005-03-27 14:53:15.628883408 +0200
> +++ scripts/gen_initramfs_list.sh 2005-03-27 15:12:20.093898280 +0200
> @@ -1,4 +1,7 @@
> -#!/bin/bash
> +#!/bin/sh
> +
> +# script is sourced, the shebang is ignored.
> +
> # Copyright (C) Martin Schlemmer <azarah@xxxxxxxxxxxxxxxx>
> # Released under the terms of the GNU GPL
> #
> @@ -56,9 +59,9 @@
>
> parse() {
> local location="$1"
> - local name="${location/${srcdir}//}"
> + local name="${location#$srcdir/}"
> # change '//' into '/'
> - name="${name//\/\///}"
> + name=`echo $name|sed -e 's|//|/|g'`

Using $(...) instead of `...` helps readability quite a lot for
things like this...

[snip]


Regards: David Weinehall
--
/) David Weinehall <tao@xxxxxxxxxx> /) Northern lights wander (\
// Maintainer of the v2.0 kernel // Dance across the winter sky //
\) http://www.acc.umu.se/~tao/ (/ Full colour fire (/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/