Using 'local' in a safe way.
authorTails developers <amnesia@boum.org>
Fri, 7 Dec 2012 21:31:36 +0000 (22:31 +0100)
committerDaniel Baumann <mail@daniel-baumann.ch>
Mon, 6 May 2013 11:54:13 +0000 (13:54 +0200)
commitd7c33ee024a4c044345e9d5b79ad039c8dafd8cd
tree5c7ba6e7dc5c038b3c9c43c4c12eb16c79b7a277
parent82b09bfb04c51925877df3c5b8efaac9db6d4e5b
Using 'local' in a safe way.

First of all, 'local' is non-POSIX, but it is a really good safeguard
against hard-to-find bugs. However, doing a local + initializing combo
like `local X=$Y` in dash is error prone. If `Y=1 2` will get an error
since dash will expand $Y so we get `local X=1 2`, but it will treat
the "2" as another variable to be made local, which isn't what we
want. Hence, let's declare variables local and initialize them in
separate commands, which is safe.
scripts/boot/9990-misc-helpers.sh
scripts/boot/9990-mount-http.sh
scripts/boot/9990-mount-iscsi.sh
scripts/boot/9990-overlay.sh