aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinit.d/localmount2
-rw-r--r--sh/functions.sh10
2 files changed, 11 insertions, 1 deletions
diff --git a/init.d/localmount b/init.d/localmount
index 92bdd195..ff841a2e 100755
--- a/init.d/localmount
+++ b/init.d/localmount
@@ -153,7 +153,7 @@ stop() {
# NO_UMOUNTS is taken from /etc/conf.d/localmount
# RC_NO_UMOUNTS is taken from /etc/conf.d/rc and can also be
# set by plugins
- local OIFS=$IFS SIFS=${IFS-y}
+ OIFS=${IFS} SIFS=${IFS-y}
IFS=$IFS:
for x in ${NO_UMOUNTS} ${RC_NO_UMOUNTS} ; do
no_umounts="${no_umounts}|${x}"
diff --git a/sh/functions.sh b/sh/functions.sh
index 9b0da2d0..18194862 100644
--- a/sh/functions.sh
+++ b/sh/functions.sh
@@ -119,6 +119,16 @@ KV_to_int() {
echo "${KV_int}"
}
+# Allow our scripts to support zsh
+if [ -n "${ZSH_VERSION}" ] ; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+fi
+
# Setup a basic $PATH. Just add system default to existing.
# This should solve both /sbin and /usr/sbin not present when
# doing 'su -c foo', or for something like: PATH= rcscript start