81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
# 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, and a recent version of Python 3 is installed. 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`
|
|
|
|
### Manual Setup
|
|
|
|
1. Clone the repo
|
|
|
|
2. Create the files .history.mash and .config/mash/mash.conf, and add configurations to your config file
|
|
|
|
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
|
|
|
|
## Fun platforms Mash can run on (for no reason)
|
|
|
|
### Mac OS X 10.6
|
|
|
|
* Working? **Yes**
|
|
|
|
* Workarounds needed? **Install Python 3.12 through MacPorts**
|
|
|
|
* Issues? **None**
|
|
|
|
* Script install? **No**
|
|
|
|
* Practical? **Not really**
|
|
|
|
### Haiku
|
|
|
|
* Working? **Yes**
|
|
|
|
* Workarounds needed? **Manually put the config file in required location**
|
|
|
|
* Issues? **None**
|
|
|
|
* Script install? **No**
|
|
|
|
* Practical? **Yes**
|
|
|
|
### Grok Learning
|
|
|
|
* Working? **Yes**
|
|
|
|
* Workarounds needed? **Manually set the user variable in Mash, manually set config**
|
|
|
|
* Issues? **There are limits set by Grok**
|
|
|
|
* Script install? **No**
|
|
|
|
* Practical? **No** |