Dave Reisner, 2011-06-25 15:27:
On Sat, Jun 25, 2011 at 03:17:40PM +0200, Kurt J. Bosch wrote:
From: "Kurt J. Bosch"<[email protected]>
---
rc.sysinit | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/rc.sysinit b/rc.sysinit
index 4073fb9..75f8095 100755
--- a/rc.sysinit
+++ b/rc.sysinit
@@ -229,7 +229,7 @@ stat_done
# 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
+ eval 'install -Tm 0755<(echo "export LANG=$LOCALE")
/etc/profile.d/locale.sh'
if [[ ${LOCALE,,} =~ utf ]]; then
stat_busy "Setting Consoles to UTF-8 mode"
--
1.7.5.2
NACK.
As far as I can tell, the eval is not at all necessary.
dave
I was able to track this down to the scripts from fbsplash (AUR).
The following test case (run in a terminal)
#!/bin/bash
# custom override example
stat_busy() {
if (( PUSH_MSG )); then
# This triggers the error in "$@" below
# actual code was:
# echo set message "$1" > "$spl_fifo" &
: &
fi
echo "$1" BUSY
}
status() {
stat_busy "$1"
shift
"$@"
local retval=$?
(( retval == 0 )) && echo DONE || echo FAIL "($retval)"
}
PUSH_MSG=0 status "test #0" cat <(echo foo)
PUSH_MSG=1 status "test #1" cat <(echo foo)
gives:
test #0 BUSY
foo
DONE
test #1 BUSY
cat: /dev/fd/63: No such file or directory
FAIL (1)
BASH version installed on Arch is
bash 4.2.010-1
GNU bash, version 4.2.10(2)-release (i686-pc-linux-gnu)
BTW same behavior on Scientific 6
GNU bash, version 4.1.2(1)-release (i386-koji-linux-gnu)
So i think we need the eval for now to work around this.
CCing Tom Gundersen.
--
Kurt
#!/bin/bash
# custom override example
stat_busy() {
if (( PUSH_MSG )); then
# This triggers the error in "$@" below
# actual code was:
# echo set message "$1" > "$spl_fifo" &
: &
fi
echo "$1" BUSY
}
status() {
stat_busy "$1"
shift
"$@"
local retval=$?
(( retval == 0 )) && echo DONE || echo FAIL "($retval)"
}
PUSH_MSG=0 status "test #0" cat <(echo foo)
PUSH_MSG=1 status "test #1" cat <(echo foo)