mitnk/cicada

An old-school bash-like Unix shell written in Rust

1,006

stars

461

commits

Rust

primary language

Aug 22, 2026

updated

hugo.wang/cicada/
cicada
linux
shell
unix

README

Cicada Unix Shell

Latest Version

Cicada is a simple Unix shell written in Rust.

Documents

Features

Run programs and pipelines

$ ls | head -n3
Desktop
Documents
Downloads

$ echo foo,bar | awk -F "," '{print $2, $1}'
bar foo

With redirections

$ ls file-not-exist 2>&1 | wc > e.txt
$ cat e.txt
       1       7      46

Command substitution

$ ls -l `which sh`
-r-xr-xr-x  1 root  wheel  618512 Oct 26  2017 /bin/sh

$ echo "Time is $(date)."
Time is Sun Sep  2 12:04:13 CST 2018.

Run multiple commands (with logical)

$ echo foo; echo bar
foo
bar

$ echo foo && echo bar
foo
bar

$ echo foo || echo bar
foo

Math arithmetic directly in the shell!

$ 1 + 2 * 3 - 4
3
$ (1 + 2) * (3 - 4) / 8.0
-0.375
$ 2 ^ 31
2147483648

Contributors

mitnk

452 commits

Its-Just-Nans

3 commits

rusthater

1 commits

sanxiyn

1 commits

mitnk/cicada

An old-school bash-like Unix shell written in Rust

1,006

stars

461

commits

Rust

primary language

Aug 22, 2026

updated

hugo.wang/cicada/
cicada
linux
shell
unix

README

Cicada Unix Shell

Latest Version

Cicada is a simple Unix shell written in Rust.

Documents

Features

Run programs and pipelines

$ ls | head -n3
Desktop
Documents
Downloads

$ echo foo,bar | awk -F "," '{print $2, $1}'
bar foo

With redirections

$ ls file-not-exist 2>&1 | wc > e.txt
$ cat e.txt
       1       7      46

Command substitution

$ ls -l `which sh`
-r-xr-xr-x  1 root  wheel  618512 Oct 26  2017 /bin/sh

$ echo "Time is $(date)."
Time is Sun Sep  2 12:04:13 CST 2018.

Run multiple commands (with logical)

$ echo foo; echo bar
foo
bar

$ echo foo && echo bar
foo
bar

$ echo foo || echo bar
foo

Math arithmetic directly in the shell!

$ 1 + 2 * 3 - 4
3
$ (1 + 2) * (3 - 4) / 8.0
-0.375
$ 2 ^ 31
2147483648

Contributors

mitnk

452 commits

Its-Just-Nans

3 commits

rusthater

1 commits

sanxiyn

1 commits

Languages

Rust

91.8%

Shell

8.1%