Skip to content
/ cicada Public
forked from mitnk/cicada

A bash-like Unix shell written in Rust

License

Notifications You must be signed in to change notification settings

ahum/cicada

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cicada Unix Shell

Travis Build Status Latest Version

Cicada is a simple Unix shell written in Rust.

Documents

Try out cicada with Docker

$ docker pull mitnk/cicada
$ docker run --rm -it mitnk/cicada
(in-cicada) $ cinfo

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

Shell expansions

$ echo sp{el,il,al}l
spell spill spall

$ echo $SHELL
/usr/local/bin/cicada

$ echo *
Cargo.lock Cargo.toml LICENSE Makefile README.md src target

Math arithmetic directly in the shell!

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

Install Cicada

Please refer to docs/install.md.

Cicada is also a library (BETA)

Read APIs here: https://docs.rs/cicada/.

FAQs

To Do List

  • to support simple Functions

About

A bash-like Unix shell written in Rust

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.8%
  • Makefile 0.2%