Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eldracode/wish
A Linux Shell written in C
https://github.com/eldracode/wish
shell
Last synced: 13 days ago
JSON representation
A Linux Shell written in C
- Host: GitHub
- URL: https://github.com/eldracode/wish
- Owner: eldracode
- Created: 2019-01-28T08:49:26.000Z (almost 6 years ago)
- Default Branch: v0.1
- Last Pushed: 2020-06-22T21:42:34.000Z (over 4 years ago)
- Last Synced: 2024-08-01T15:29:59.143Z (4 months ago)
- Topics: shell
- Language: C
- Homepage:
- Size: 244 KB
- Stars: 6
- Watchers: 1
- Forks: 5
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# wish
Minimal Linux shell written in C to study systemcalls and other POSIX concepts.\
Command expressions have the syntax:```
$ [./]cmd1 arg1 arg2 arg3 ... argN(sep)cmd2 arg1 arg2
```
where (sep) is a command separator or an operator. Example - pipeline operator'|',etc.Some features are:
- Supports sequential command execution 'cmd1 ;cmd2;cmd3;cmd4 && cmd5'.
- Supports pipelines constructs 'A|B|C....' where A,B,C,... are command constructs.
- Supports Output redirection to a file '>' , '>>'.
- Supports File descriptor redirection.
- Supports background process execution 'cmd &'.
- Has it's own Finite State Machine based token generator and syntax checking functions.#### Running on local machine
You will need a Linux machine to run this shell.###### Dependencies:
- gcc
- cmakeAfter installing dependencies,
Run the following commands:
```
$ make
```
Then an executable will be generated in ./bin/ , you can run it using```
$ bin/wish
```To exit the shell write `exit` or press `Ctrl+D` in the shell.
#### To be added:
- Shell Scripting
- Shell customisation