es

Extensible shell with functional programming features

TLDR

Start es shell
$ es
Run command
$ es -c "[echo hello]"
Run script
$ es [script.es]
Start without initialization
$ es -p

SYNOPSIS

es [options] [script] [args]

DESCRIPTION

es is an extensible shell derived from rc (the Plan 9 shell) with first-class functions, lexical scoping, and exception handling. It provides a clean, programmable shell with functional programming features.Unlike traditional shells, es treats functions as first-class values, supports closures, and has a simpler, more consistent syntax than bash or zsh.

PARAMETERS

-c command

Execute command string.
-p
Don't load profile.
-l
Act as login shell.
-v
Print input to stderr.
-x
Print commands before execution.
-i
Force interactive mode.
-n
Parse only, don't execute.

CONFIGURATION

~/.esrc

User initialization file loaded at startup (unless -p flag is used).

INSTALL

sudo apk add es-shell
nix profile install nixpkgs#es

CAVEATS

Not POSIX-compatible; scripts need rewriting. Smaller community and fewer resources than bash. Some features differ from rc. May not be available on all systems.

HISTORY

es was created by Paul Haahr and Byron Rakitzis in the early 1990s as an enhanced version of rc, the Plan 9 shell. It added functional programming concepts like first-class functions and lexical scoping to shell scripting.

SEE ALSO

rc(1), bash(1), zsh(1), fish(1)