LinuxCommandLibrary

bshell

Execute commands; Bourne shell interpreter

TLDR

Browse for both SSH and VNC servers

$ bshell
copy

Browse for SSH servers only
$ bshell --ssh
copy

Browse for VNC servers only
$ bshell --vnc
copy

Browse for both SSH and VNC servers in a specified domain
$ bshell --domain [domain]
copy

SYNOPSIS

bshell [-c command] [-i] [-l] [-s] [file [args]]

PARAMETERS

-c command
    Execute command as a string

-i
    Force interactive mode, ignore stdin

-l
    Make bshell a login shell

-s
    Read commands from stdin (default if no file)

--help
    Display usage information

--version
    Show BusyBox version

DESCRIPTION

bshell is an interactive shell provided by BusyBox, a single executable combining hundreds of common Unix utilities for resource-constrained environments like embedded systems, routers, and Android devices (e.g., Termux). It implements a POSIX-compliant Almquist shell (ash) derivative, offering essential shell functionality with minimal footprint.

Designed for efficiency, bshell supports scripting, command execution, job control, and basic built-ins like cd, echo, test. It lacks advanced features of bash or zsh, such as extensive tab completion or plugins, prioritizing speed and size. Commonly invoked via BusyBox symlink, bshell enters interactive mode by default, reading commands from stdin. Use it for recovery shells, initramfs, or lightweight containers where full shells are impractical.

In Linux distributions with BusyBox (e.g., Alpine, OpenWRT), bshell ensures portability across architectures.

CAVEATS

Limited features: no brace expansion, arrays, or advanced globbing. Not suitable for complex scripts requiring bashisms. May differ slightly per BusyBox build.

EXAMPLES

bshell # interactive shell
bshell -c 'ls -l' # run single command

BUILT-INS

Supports core POSIX built-ins: break, cd, eval, exec, exit, export, read, set, shift, test, times, trap, umask, unset, wait.

HISTORY

Part of BusyBox, initiated in 1996 by Bruce Perens for Debian boot floppies. Evolved under Erik Andersen; now maintained by Denys Vlasenko. Widely used since Linux 2.x embedded era.

SEE ALSO

busybox(1), ash(1), dash(1), sh(1)

Copied to clipboard