Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/loopfz/shaft
UNIX Shell written in C
https://github.com/loopfz/shaft
Last synced: 30 days ago
JSON representation
UNIX Shell written in C
- Host: GitHub
- URL: https://github.com/loopfz/shaft
- Owner: loopfz
- License: mit
- Created: 2013-05-13T19:31:07.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2013-05-13T19:31:16.000Z (over 11 years ago)
- Last Synced: 2023-05-07T08:06:46.007Z (over 1 year ago)
- Language: C
- Size: 129 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
- Changelog: change_dir.c
- License: LICENSE.txt
Awesome Lists containing this project
README
--------------------------------------------------------------------------------
| ______ __ __ ______ __ |
| / \ | \ | \ / \ | \ |
| | $$$$$$\| $$ | $$ ______ | $$$$$$\ _| $$_ |
| | $$___\$$| $$__| $$ | \ | $$_ \$$| $$ \ |
| \$$ \ | $$ $$ \$$$$$$\| $$ \ \$$$$$$ |
| _\$$$$$$\| $$$$$$$$ / $$| $$$$ | $$ __ |
| | \__| $$| $$ | $$| $$$$$$$| $$ | $$| \ |
| \$$ $$| $$ | $$ \$$ $$| $$ \$$ $$ |
| \$$$$$$ \$$ \$$ \$$$$$$$ \$$ \$$$$ |
| |
--------------------------------------------------------------------------------
| Written by Thomas Schaffer in C. |
| Licensed under the MIT license. |
----------------------------------------------------------------------------------------------------------------------------------------------------------------
| Description |
--------------------------------------------------------------------------------SHaft is a simple UNIX shell implementing most common features, such as:
* Pipelines
* Redirections
* Logical operators && and ||
* Environment and local variables substitution
* Function declaration
* Scripting keywords (if elif else, while, for)
* Command aliases
* Command subsitution with `` or $()
and many others (cf. TODO).It can be run in interactive mode, or given a script file as parameter.
It is a compact codebase (~3000 SLOC) entirely written by myself as a fun
project over a week. It uses a hand written parser and does not depend on any
external library.