busybox-w32 version FRP-4716-g31467ddfc was released on 2022-06-09. It is the current release. For other release notes see:
This release adds the
jn applet to create junctions:
$ mkdir directory $ jn directory junction $ su # ln -s directory symlink # ls -l total 8 drwxrwxr-x 2 rmy rmy 0 Jun 09 13:12 directory lrwxrwxrwx 2 rmy rmy 22 Jun 09 13:12 junction -> C:/Users/rmy/directory lrwxrwxrwx 2 root root 9 Jun 09 13:12 symlink -> directory
jncommand used a relative path for the target directory, the junction actually contains an absolute path. This may be a problem if the tree containing the junction is moved to a different place.
ls. Since Unix has no concept of junctions most applets in busybox-w32 treat them as symbolic links.
tar, for example, will store a junction as a symbolic link.
To distinguish between a junction and a symbolic link use
$ lsattr -d directory symlink junction ----------- directory l---------- symlink j---------- junction
(GitHub issue #251)
Sometimes it may be desirable to replace an applet with a
different, external program. The new environment variable
BB_OVERRIDE_APPLETS lets the user control which applets
are given preference. It may take the following values:
If an applet is overridden in this way any attempt to run it will cause
Suppose, for example, a user is irritated that BusyBox
interferes with a workflow requiring frequent use of Windows'
expand. They can do:
~ $ expand /dev/null ~ $ echo "expletive deleted" >/dev/null ~ $ export BB_OVERRIDE_APPLETS=expand ~ $ expand /dev/null Microsoft (R) File Expansion Utility Version 6.1.7600.16385 Copyright (c) Microsoft Corporation. All rights reserved. No files specified. ~ $
lsdisplays about files are largely fictional, designed mostly to give long-time Unix users a comfortable feeling of familiarity.
This release makes some further adjustments:
whichapplet and shell built-in
command -vreport the full path of a binary. In standalone shell mode, however, there may not be a binary with a name that matches the command. It would be wrong for
commandto fail in these circumstances so they report just the command name.
This release has the following enhancements:
whichis run directly from a shell it will report any applets it finds. To force it to look up a command on
PATHit can be run indirectly, for example as
env which expand.
-loption) the current directory and
HOMEenvironment variable are usually set to Windows' idea of the user's home directory. It's now possible to override this by setting
HOMEbefore invoking a login shell. (GitHub issue #244)
dateapplet supports the
%Nformat specifier to display times with nanosecond precision.
0in certain circumstances. This has been fixed. (GitHub issue #250)
PATH. For example, if
curl.exehas been installed to a directory in
PATHa shell script referring to
/usr/bin/curlwill work as expected.
tsortapplet which performs a topological sort. It takes pairs of items as input, where the first of each pair is required to appear before the second, and outputs an ordered list consistent with the specified partial ordering:
$ tsort <<EOF > 1 2 > 2 6 > 4 6 > EOF 1 4 2 6