90s/README.md

54 lines
1.3 KiB
Markdown
Raw Normal View History

2024-01-31 02:02:32 +01:00
# rush
rush is a minimalistic shell for Unix systems written in C.
2024-02-08 20:47:44 +01:00
* Disclaimer: This project is for me to learn to write Unix syscalls, code might be inefficient, feel free to point out the mistakes and open a issue for that!
2024-02-04 21:27:24 +01:00
# Preview
2024-02-04 21:30:03 +01:00
[![Valid command](https://r2.e-z.host/3c62bb3a-a8a9-43f6-afd6-553646f51dc4/aqnpvvud.png)]()
2024-02-04 21:31:44 +01:00
[![Invalid command](https://r2.e-z.host/3c62bb3a-a8a9-43f6-afd6-553646f51dc4/xf80dq0b.png)]()
2024-02-04 21:27:24 +01:00
2024-01-31 02:02:32 +01:00
# Dependencies
- gcc
# Building
```sh
$ make
```
# Usage
```sh
$ ./rush
```
# Features
2024-02-08 13:40:16 +01:00
- No dependencies except a compiler
2024-01-31 02:02:32 +01:00
- Showing current time and directory with custom color
- Syntax highlighting on valid commands using ANSI colors
- History navigation using up and down keys with history command
- Built in commands
2024-02-02 17:52:21 +01:00
- Export environment variable
- Source commands from a file
2024-02-08 13:40:16 +01:00
- Editing using left and right arrow keys
2024-02-02 17:52:21 +01:00
# Built in commands
- cd
- help
- exit
- history
- export
- source
2024-01-31 02:02:32 +01:00
# Todo Features
2024-02-08 13:40:16 +01:00
- splits commands based on pipes and whitespaces
2024-01-31 02:02:32 +01:00
- stdin, stdout, stderr redirect
- background jobs
- tab completion
2024-02-08 13:40:16 +01:00
- Recalling history through `!` & ~ `!-`
2024-01-31 02:02:32 +01:00
# Credits
- [Tutorial - Write a shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c/)
- [dash](https://github.com/danishprakash/dash)
- [Shell assignment](https://www.cs.cornell.edu/courses/cs414/2004su/homework/shell/shell.html)
- [khol](https://github.com/SanketDG/khol/)