busybox-w32 version FRP-4487-gd239d2d52 was released on 2021-10-18. It is no longer current. For other release notes see:
sleep 10 &
runs the sleep
applet in the background. This release
adds a number of features to improve support for background jobs.
~ $ sleep 10 & [1] 1888 ~ $ [1]+ Done sleep 10 ~ $
jobs
builtin has been enabled. This
lets the user see the status of their background jobs:
~ $ sleep 100 | sleep 200 & [1] 2248 ~ $ jobs [1]+ Running sleep 100 | sleep 200 ~ $ jobs -p 2248 ~ $ jobs -l [1]+ 2248 Running sleep 100 3556 | sleep 200 ~ $
kill
builtin has been extended to
allow jobs to be killed using their job id or the process name:
~ $ sleep 100 & sleep 200 & sleep 300 & [1] 2532 [2] 3484 [3] 2212 ~ $ jobs [3]+ Running sleep 300 [2]- Running sleep 200 [1] Running sleep 100 ~ $ kill %- [2]- Terminated sleep 200 ~ $ kill %1 [1]- Terminated sleep 100 ~ $ kill %sleep [3]+ Terminated sleep 300 ~ $
%%
or %+
refer to the current background
job, %-
is the previous job, %n
(where
n
is a number) is the job with id n
,
%string
is a job whose command begins with
string
and %?string
is a job whose
command contains string
.
~ $ calc & [1] 3644 ~ $ exit You have background jobs. ~ $Previously the shell would just hang because the console host refused to shut down while background jobs were still attached. Now the user has the option to terminate the background jobs from the command line or by other means.
Note that this support only extends to background jobs started with the
&
control operator. busybox-w32 still doesn't support
job control using ctrl-z or the fg
and bg
builtins.
vi
text editor in busybox-w32 now supports
limited versions of the fileformats
and fileformat
options from vim
. They can be abbreviated to ffs
and ff
respectively.
When a file is opened for edit vi
checks its line endings.
If only linefeeds are detected fileformat
is set to
unix
, otherwise it's set to dos
.
Files are written with line endings appropriate to their
fileformat
. Thus the format of Unix-style files is preserved.
fileformats
defaults to dos,unix
but can be changed
to unix,dos
. This only affects the file type allocated when an
empty edit buffer is created.
(GitHub issue #220)
/dev/null
) are now
treated as being 'character special' files instead of regular files.
This is necessary for the shell to correctly handle /dev/null
in conjunction with the noclobber
option.
(GitHub issue #225)
split
applet has been increased to provide an improvement in performance.
(GitHub issue #224)
ash
was found to result in this code hanging:
test() { . /tmp/bb_test; } echo "export TEST=foo" >/tmp/bb_test test 2>/dev/null echo "$TEST"In addition code of these two forms:
while true; do cat <(echo hi); done f() { while true; do cat <(echo hi); done } fleaked file descriptors and eventually failed. Both these flaws have been fixed.
shuf
applet has been speeded up in cases
where the -n
option is used to request a limited number of
results. For example, this command picks five results from 128 million
values:
shuf -i 1500000000-1628000000 -n 5In the previous release it took 17 seconds on a test machine. In this release it takes 0.25 seconds. (GitHub issue #212)
ash
now supports the bash-like
ERR
trap. (As a reminder, in busybox-w32 the trap
builtin accepts signal names but never handles them. It only handles
ERR
and EXIT
traps.)
ash
has improved support for the
LINENO
variable and adds the FUNCNAME
variable.
It also now properly respects the ignoreeof
option.
date
and touch
applets accept
ISO-style dates with a timezone offset. For example,
1999-01-02 03:04:05 +0600
or 1999-01-02 03:04:05Z
.
(GitHub issue #230)
cal
applet accepts the -m
option to indicate that Monday is the first day of the week.
(GitHub issue #231)
vi
applet now runs initialisation commands
from the file .exrc
in the user's home directory. Such
commands (along with those from the EXINIT
environment
variable) are processed before the first file is read into memory.
--post-file
option has been added to
the wget
applet. (GitHub PR #232)