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
YashYet another shell
okshPortable OpenBSD ks
esExtensible shell with higher-order functio
duneA shell by the beach
coshConcatenative command-line she
gshPOSIX-compatible generative shell
arshStatically typed scripting language with shell-like features
Sushi shellBash clone shell implemented in Rust
fortshShell written in Fortran
hshSlightly different take on your shell
ReShellModern shell
rashRudimentary shell
DaxCustom Unix shell implementation

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted