Images of shells by the sea

Cicada – Bash-like Unix shell

Cicada is a Bash-like Unix shell written in Rust. It is designed as a simple daily-use command interpreter, providing familiar shell constructs without attempting to reproduce the full complexity of Bash or compete with feature-heavy shells such as Zsh.

The shell can launch external programs, construct pipelines, redirect input and output, manage foreground and background jobs and perform command substitution. It also supports a lightweight scripting language with conditionals, loops and functions. Interactive facilities include persistent SQLite-based history, syntax highlighting, programmable completion and a highly configurable prompt.

This is free and open source software.

Key Features

  • Launch external commands and shell builtins.
  • Connect commands using Unix pipelines.
  • Input, output and standard-error redirection.
  • Command substitution using both backticks and $(command) syntax.
  • Run multiple commands separated by semicolons.
  • Conditional command execution using && and ||.
  • Perform integer and floating-point arithmetic directly at the prompt.
  • Supports arithmetic precedence, parentheses and exponentiation.
  • Foreground and background job control.
  • Suspend jobs and resume them using the bg and fg builtins.
  • List active jobs and address them by job or process-group identifier.
  • Aliases with alias and unalias management commands.
  • Environment-variable assignment, expansion and removal.
  • Configurable login-shell startup file.
  • Source additional configuration or script files into the current session.
  • If, else, for and while scripting constructs.
  • User-defined shell functions and positional parameters.
  • Filename globbing and brace-range expansion.
  • Path, executable and environment-variable completion.
  • Built-in completion support for make targets and SSH hosts.
  • Custom command completions defined using YAML files.
  • Persistent command history stored in an SQLite database.
  • Search history by pattern, session or working directory.
  • Reverse history search and prefix-based history navigation.
  • Optionally exclude commands beginning with a space from history.
  • Syntax highlighting recognises commands and command wrappers.
  • Customisable prompt with colours, formatting and exit-status indicators.
  • Prompt can display the current directory, user, host and Git branch.
  • Embed the output of a command in the prompt.
  • Builtins for checking commands, inspecting resource limits and managing Python virtual environments.

Website: github.com/mitnk/cicada
Support:
Developer: Hugo Wang
License: MIT License

Cicada is written in Rust. Learn Rust 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