https://github.com/guhansiyer/osh
The Open Shell
https://github.com/guhansiyer/osh
c linux shell terminal
Last synced: about 2 months ago
JSON representation
The Open Shell
- Host: GitHub
- URL: https://github.com/guhansiyer/osh
- Owner: guhansiyer
- Created: 2025-03-10T21:15:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-17T01:58:37.000Z (4 months ago)
- Last Synced: 2026-03-17T08:53:04.369Z (4 months ago)
- Topics: c, linux, shell, terminal
- Language: C
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# osh: The Open Shell
```osh``` is a rudimentary shell written in C for use in *nix systems. The original intent behind the shell was a project to introduce myself to systems programming and gain more experience with C programming.
## Functionality
The Open Shell features a few builtin commands, including:
* `cd`
* `echo`
* `exit`
* `help`
* `sinfo`: reports system information (memory usage, uptime, kernel & CPU info)
All other classic commands (not builtins) such as `ls` work through their native *nix implementations currently.
Other noteworthy features include:
* Single pipes
* Input redirection
* Persistent command history with `GNU readline`
## Building osh
In the top level directory, run ```make``` to create a ```osh``` executable and ```/build/``` directory with individual object files. To clear the executable and objects, run ```make clean```.
## Credits
This project adapts much of its base code from Stephen Brennan's [tutorial](https://brennan.io/2015/01/16/write-a-shell-in-c/), which I followed to create the base functionality of ```osh```.