CascadeShell

module
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 24, 2025 License: GPL-3.0

README

CλSH

The Portable and User-Friendly Shell written in Go.

What is this project about?

This project is a shell entirely written in go. It is designed to be portable and run anywhere.

Although this shell is stable now, bugs may still appear, some of which can break your system. Use at your own risk!

Known issues

Like with virtually any other project out there, CλSH has its issues too. These include, but are not limited to:

  • Pipes don't work (not implemented yet)

Planned features

While this project does not have a strict roadmap or something along those lines, features may always be planned for the future! Current plans include:

  • Add a .cashrc
  • Add Tab Autocomplete

Supported platforms

  • Linux ✅ Works flawlessly
  • FreeBSD ✅ Works flawlessly also
  • Windows 🟨 Works just fine, but antivirus software may flag it as a trojan.
  • Android 🟨 The shell itself works fine, but Epsilon Fetch does not work. Probably because Android is too restrictive.
  • Other BSDs ❓ Not tested yet, but compilable for NetBSD and OpenBSD. Feel free to test.
  • MacOS/Darwin ❓ Not tested yet, but also compilable. Feel free to test.

Commands

Unlike with many other shells, CλSH talks a lot and will inform the user of success or failure. This is an intentional design choice and serves to help beginners or those who simply want a talkative shell.

CλSH has a few built-in commands, these include:

Chdir
chdir <Destination>

This command will change the current directory to the target. Note that using just cd to go to the home directory will not work. Use gohome instead.

The only valid variation of this command is cd

Lookaround
lookaround

This command will list the entries of a specified Directory. By default, it does not show hidden directories (those starting with '.') but it can be made to do so with the --showhidden flag. Specifying no arguments will make it default to the current directory.

The only valid variation of this command is ls.

Whereami
whereami

This command will print the current directory as an absolute path.

The only valid variation of this command is pwd

Whoami
whoami

This command will print the current user to the console.

Exec
exec <Program>

This command is functionally identical to just running the the program with the command directly, but using exec to run it will ignore shell builtins.

Exec primarily exists to ensure that shell builtins won't obstruct usage of other programs which may have the same name.

Setenv
setenv <Key> <Value>

This command is for setting environment variables.

Getenv
getenv <Key>

This command is for reading environment variables.

Clear
clear

This command will clear the screen and scrollbuffer.

The only valid variation of this command is clearscreen

Hist
hist

This command will print the command history.

The only valid variation of this command is showhist

Clearhist
clearhist

This command will clear the command history by deleting the file and creating a new one.

Gohome
gohome

This command will take the user to their home directory.

Print
print <Content>

This command will print the specified Content to the console. Can also be used to print environment variables by putting an '$' symbol before the variable name.

The only valid variation of this command is say.

EpsilonFetch
epsilonfetch

This command is a built-in Fetch program which tells you basic info about your CPU, Memory and Runtime. It does not work on Android.

Visit the Repository on https://github.com/Moritisimor/EpsilonFetch

The only valid variation of this command is epsilon

Exit
exit

This command will break the Read-Eval-Print-Loop, effectively terminating the running CλSH Process and exiting the program.

The only valid variation of this command is bye.

Running Commands in Sequence
setenv x hello ; setenv y world ; say $x $y

Semicolons ';' are used for running commands in sequence. What's important to note is that semicolons must stand completely alone, not appended to a character.

Note: The list of Commands is always subject to change as this project is WIP.

Directories

Path Synopsis
cmd
cash command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL