When using process substitution with status(), the resulting /dev/fd/* might get lost before it is actualy used. This happens in case a custom stat_busy() forks a subshell. --- rc.sysinit | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/rc.sysinit b/rc.sysinit index fca8b43..a63da9b 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -238,8 +238,9 @@ stat_done eval 'echo "$HOSTNAME" > /proc/sys/kernel/hostname' # Flush old locale settings and set user defined locale -status "Setting Locale: ${LOCALE:=en_US}" \ - install -Tm 0755 <(echo "export LANG=$LOCALE") /etc/profile.d/locale.sh +stat_busy "Setting Locale: ${LOCALE:=en_US}" + echo "export LANG=$LOCALE" > /etc/profile.d/locale.sh && + chmod 0755 /etc/profile.d/locale.sh && stat_done || stat_fail if [[ ${LOCALE,,} =~ utf ]]; then stat_busy "Setting Consoles to UTF-8 mode" -- 1.7.1