Nosh - A Simple Custom Shell for Windows
Nosh is a simple, customizable command-line shell designed for Windows systems. Inspired by Unix-like shells, Nosh provides a variety of basic commands and functionalities, with a few fun additions. It is meant to emulate many of the standard shell operations, as well as offer a unique user experience. This project is open-source, and you are welcome to contribute.
Features
-
Basic Shell Commands:
pwd
,cd
,clear
, and more -
Creative and Fun Commands:
noemi
(draws a heart using#
characters) -
File System Operations:
tap
(create files),crush
(delete files and directories) -
File Viewing:
read
(reads and displays the contents of text files line-by-line) -
Directory Navigation: Supports changing to the home directory with
cd
and moving up one directory withcd ..
- Store: Stores text of maximum 100 characters during runtime
A separate PDF file called Documentation will soon be added too.
Installation
- Clone the repositiory
git clone https://gitlab.com/yourusername/nosh.git
cd nosh
- Build the Shell
g++ -o nosh.exe nosh.cpp
Assuming you have g++
installed.
This will create an executable called nosh.exe
.
Run the Shell
Once the build completes successfully, run nosh.exe
.
Contributing
Before contributing, please note that if you create a derivative or customized version of Nosh, you must change the name to avoid confusion with the original project. This helps maintain clarity and ensures proper credit to contributors.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
License
MIT License
Copyright (c) 2025 Zsombor Szabó-Antalovszky
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, subject to the following conditions:
1. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
2. Any modified version of this Software, or any software derived from this Software, **must include a name distinct from the original project name ("Nosh")** to avoid confusion with the original project.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Acknowledgements
Due to being unfamiliar to some API-s and libraries in C++, this project was developed with a heavy assistance from ChatGPT, whose insights and guidance were instrumental in its creation.