diff options
-rwxr-xr-x | init.d/localmount | 2 | ||||
-rw-r--r-- | sh/functions.sh | 10 |
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 |