https://github.com/osmosx/minishell
[minishell] project school 42. The goal of this project is to create a simple shell. You are going to learn a lot about processes and file descriptors.
https://github.com/osmosx/minishell
bash builtin-functions linux pipeline processes shell
Last synced: 3 months ago
JSON representation
[minishell] project school 42. The goal of this project is to create a simple shell. You are going to learn a lot about processes and file descriptors.
- Host: GitHub
- URL: https://github.com/osmosx/minishell
- Owner: osmosx
- Created: 2022-04-01T08:50:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-05T16:25:25.000Z (over 2 years ago)
- Last Synced: 2025-01-11T19:50:47.326Z (4 months ago)
- Topics: bash, builtin-functions, linux, pipeline, processes, shell
- Language: C
- Homepage:
- Size: 801 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# minishell
### Compilation:
```bash
make
```
### Run:
```bash
./minishell
```### Implemented
- Builtins functions:
- `cd` with only a relative or absolute path.
- `pwd` with no options.
- `echo` with `-n` option.
- `export` with no options.
- `unset` with no options.
- `env` with no options.
- `exit` with no options.
- Redirections:
- `<` redirect input.
- `>` redirect output.
- `>>`redirect output with append mode.
- Pipes `|` the output of each command in the pipeline is connected via a pipe to theinput of the next command.
- Environment variables (**$** followed by characters) expand to their values.
- `$?` expands to the exit status of the most recently executed foreground pipeline.
- Signals work like in bash. When interactive:
- `Ctrl + C` will print a new prompt on a newline.
- `Ctrl + D` will exit the shell.
- `Ctrl + \` will do nothing.