28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# BusyBox for Windows — the shell behind `@eval :shell` on Windows
|
|||
|
|
|
||
|
|
`busybox64u.exe` is [BusyBox for Windows](https://frippery.org/busybox/)
|
||
|
|
(busybox-w32) by Ron Yorston, release **FRP-6075-g169694ebd** of
|
||
|
|
2026-05-07, the 64-bit Unicode build, downloaded from
|
||
|
|
`https://frippery.org/files/busybox/busybox64u.exe` on 2026-09-24.
|
||
|
|
|
||
|
|
sha256 6e263d154d8548d1eb936f65d1d8312c80df31c45974e48d6335e4dcc0f4f34c
|
||
|
|
size 675840 bytes
|
||
|
|
|
||
|
|
## Why it is here
|
||
|
|
|
||
|
|
On Linux and macOS `popen()` runs a `:shell` command with `/bin/sh`, so
|
||
|
|
`@eval :shell …` has always meant a POSIX shell command. On Windows
|
||
|
|
`popen()` runs `cmd.exe`, a different language, and the same document would
|
||
|
|
mean something else. Klammertext therefore runs `:shell` commands on
|
||
|
|
Windows with this `sh` (`mac/eval.cpp`, `shell_command_line()`), and a
|
||
|
|
document's `:shell` command means the same thing on every system.
|
||
|
|
|
||
|
|
## Licence
|
||
|
|
|
||
|
|
BusyBox is distributed under the GNU General Public License version 2
|
||
|
|
(`LICENSE`, the copy from the busybox-w32 repository). Klammertext invokes
|
||
|
|
it as a separate program and does not link against it. The corresponding
|
||
|
|
source is the busybox-w32 repository, `https://github.com/rmyorston/busybox-w32`,
|
||
|
|
at the release above; anyone who receives this binary from a Klammertext
|
||
|
|
distribution is entitled to that source under the GPL, and this file is the
|
||
|
|
written offer's pointer.
|