[BusyBox] Ash *surprises*
David Douthitt
ssrat at mailbag.com
Fri Aug 10 08:02:58 MDT 2001
I replaced a modified standalone ash with busybox ash; it was worth it.
However, it created quite a few problems, and many surprises. There's a
few bugs, too.
Here's a list (with comparisons)
1. read -p silently ignored (previously worked)
2. getopts removed; does not exist in busybox ash
3. echo removed and now external
4. test removed and now external
5. sh -x does not work
6. IFS="," ; set -- $FOO ...where FOO="a, b, c, d" acts differently:
ash: returns: $1=a $2=b $3=c $4=d
bb ash: returns: $1=" a" $2=" b" $3=" c" $4=" d"
...setting IFS to ", " restores the desired behavior.
There's also at least one bug:
1. . .profile fails with file not found; . ./.profile does not (!)
One of the problems I had with echo and test being external was that I
set PATH=/bin:/sbin at one point; however, echo and test are in
/usr/bin; thus all of echo and [ failed miserably.
Despite failing the "principle of least surprise" this switch has been
of GREAT benefit to my distribution; it's meant being able to split GNU
libc to a separate archive, which means the switch to a new GNU glibc
only requires a new archive, AND it shrunk the main root filesystem
archive by almost 500k!
Thank you very much for your work on busybox, ash, tinylogin, and uClibc
- I now use 'em all :-)
More information about the busybox
mailing list