A shell coded in Python. No reason :)
Go to file
2024-07-24 14:45:40 +10:00
LICENSE Initial commit 2024-07-03 11:46:56 +10:00
main.py Add colour config compatibility 2024-07-24 14:45:40 +10:00
mash.conf.example Add mash.conf.example 2024-07-15 10:06:46 +10:00
README.md Update README.md 2024-07-15 17:52:12 +10:00

Max's Shell (mash)

A shell coded in Python. No reason :)

Just bored in class one day so I started to code this. Will have some basic commands in built, and as it is coded in Python you should be able to have a similar terminal experience anywhere!

So what even is Mash?

Mash is a shell (like sh, bash, fish, or zsh) which has been coded in Python by me. At the moment, Mash is still in a very early alpha stage. (As in it "works", but there's no guarantee that it will work.) There's a few built in commands (mls for ls, and mat for cat) to allow for higher consistency across different systems, but these are very basic (just use your system-bundled versions kind of basic).

Features

  • Coded in Python, meaning you can quickly make a change to the code in real time
  • Colourful out of the box
  • Built in ls (mls) and cat (mat)
  • Cross-platform (see below for details)
  • Configurable (kind of)

Platform support

Mash has been developed and tested on Arch Linux (btw), so should work as intended there. However, Mash should run anywhere so long as there is a UNIX-like filesystem, a recent version of Python 3 is installed and the colorama Pip package is avaliable (providing the colours). This means macOS, most Linux distros, and most UNIX-like OSes should work without too much modification.

However, Windows support is very hit and miss. Don't see this as a Powershell replacement. Yes, I know Powershell and the regular Command Prompt suck, but for now don't expect good support. Running programs is tested and working, however using directories gets a bit messy due to the differences between UNIX-like and NT design.

Setup

Quick Setup

Copy this command into a terminal (so long as Bash is installed) curl https://maxwellj.xyz/mash/install.sh | sudo bash

Make sure colorama is installed with Pip or your distro's package manager (usually as python-colorama), as this is what currently provides the colours for Mash. This should be changed in future.

Manual Setup

  1. Clone the repo

  2. Create the files .history.mash and .config/mash/mash.conf, and add configurations to your config file

  3. Make sure colorama is installed with Pip or your distro's package manager (usually as python-colorama), as this is what currently provides the colours for Mash.

  4. Run main.py

Configuration (EARLY BETA)

Mash is a "configurable" shell. You can customise some parts of it to make it your own. It uses a syntax that is sort of inspired by CSS (emphasis on the sort of), but I just coded whatever felt easiest to code.

Read more at https://git.maxwellj.xyz/max/mash/wiki/Configuration