Images of shells by the sea

Hilbish – highly extensible interactive shell

Hilbish is a highly extensible interactive shell configured using Lua.

It aims to provide comfortable defaults for ordinary terminal use while exposing most of its behaviour through a Lua API for users who want to customise or extend it.

Its default hybrid runner first attempts to interpret input as Lua and then falls back to shell syntax. Alternative runners can prioritise shell commands, accept only shell syntax or turn the prompt into a Lua REPL. Custom runners can also be written for other languages. Traditional shell syntax is intended for interactive commands, while configuration and extensibility are handled through Lua.

This is free and open source software.

Key Features

  • Interactive shell designed around extensive Lua customisation.
  • Run Lua expressions and conventional shell commands from the same prompt.
  • Default hybrid runner tries Lua before shell syntax.
  • Alternative shell-first, shell-only and Lua-only runner modes.
  • Register custom input runners for other languages.
  • Override the runner for an individual command without changing the global mode.
  • Lua configuration file and comprehensive shell API.
  • Create commands and extend shell behaviour using Lua functions.
  • Event and hook system for reacting to shell activity.
  • Customisable prompts and input handling.
  • Aliases with positional argument substitution.
  • Temporarily disable alias expansion for an individual command.
  • Abbreviations expand text in place before execution.
  • Expanded abbreviations are stored in history as complete commands.
  • Command-specific tab completion with file completion as a fallback.
  • Grid, list and mixed completion layouts.
  • Completion entries can include descriptions and aliases.
  • Lua API for registering completion handlers for additional commands.
  • Persistent command history.
  • Optional fuzzy history searching through the Ctrl-R menu.
  • Private-command modifier prevents sensitive commands from entering history.
  • Run a command temporarily from another directory.
  • Automatic directory changing when a directory is entered as a command.
  • Background-job management.
  • Notification system for shell features and extensions.
  • Optional notification when a background job finishes.
  • Configurable greeting and message of the day.
  • Standard edition uses a Lua implementation written in Go.
  • Midnight edition supports the original C Lua implementation, C-based Lua libraries and LuaJIT.
  • Distributed as a self-contained shell without requiring a separate shell framework.

Website: github.com/sammy-ette/Hilbish
Support:
Developer: sammyette
License: MIT License

Hilbish is written in Go and Lua. Learn Go with our recommended free books and free tutorials. Learn Lua with our recommended free books and free tutorials.


Related Software

Shells
zshAdvanced and programmable command interpreter
NushellAdopts the Unix philosophy of shells where pipes connect command together
fishSmart and user-friendly command line shell
XonshPython-powered, cross-platform shell language and command prompt
bashsh-compatible command language interpreter
MurexIntuitive, typed and content aware shell
PowerShellCross-platform automation and configuration framework
ElvshExpressive programming language and a versatile interactive shell
OilsBilled as an upgrade to bash. Written in Python.
DASHPOSIX-compliant implementation of sh that aims to be as small as possible
shShell parser, formatter, and interpreter
tcshC shell with file name completion and command line editing
mkshMirBSD Korn shell
ksh Unix shell which was developed by David Korn at Bell Labs
brushPOSIX- and bash compatible shell
RashLanguage, library, and shell REPL for Racket.
ionModern system shell that features a simple, yet powerful, syntax
CicadaBash-like command environment with scripting and job control
YashYet another shell
okshPortable OpenBSD ks
esExtensible shell with higher-order functio
duneA shell by the beach
coshConcatenative command-line she
MarcelModern command environment combining Python with Unix pipelines
HilbishHighly extensible command environment configured with Lua
gshPOSIX-compatible generative shell
arshStatically typed scripting language with shell-like features
Sushi shellBash clone shell implemented in Rust
lokshLinux port of OpenBSD's Korn-compatible command interpreter
fortshShell written in Fortran
hshSlightly different take on your shell
ReShellModern shell
rashRudimentary shell
DaxCustom Unix shell implementation
cjshPOSIX-oriented command environment with modern interactive features

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our carefully curated directory of recommended free and open source software, covering every major software category.

The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more.

Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted