On 2013-03-18 14:17, Joshua Judson Rosen wrote:
`luckily', the other popular bourne shells (e.g.: bash, dash/ash, ksh) seem to all actually behave contrary to POSIX on this matter;
Ugh--I take it back about dash/ash--dash/ash actually behave according to POSIX, here. :\ I was running a script that used "source" instead of ".", and that gives a result that's uncannily-similar to the what bash normally does and what busybox does after applying my patch. My ksh installation apparently has "source" set as an alias, as well. I think the other points still stand, though:
portable scripts already have to do ". $file || exit" if they actually want the POSIX behaviour.... So, even ignoring the unfixable race condition, there's a porting effort required to make shell scripts work with busybox ash as it is. Given the other places where busybox favours de facto standards over POSIX (e.g.: ls reports in 1-kB block rather than 512-byte blocks, command option-parsing doesn't stop at the first non-option parameter), doing the same in dotcmd() seems reasonable.
-- "Don't be afraid to ask (λf.((λx.xx) (λr.f(rr))))." _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
