About · Project Structure · Features · Usage
The objective of this project is to create a minimalist shell.
Make && ./minishell
Screen.Recording.2023-03-23.at.00.05.19.mov
.
├── 📁includes/
│ └── minishell.h
├── 📁libft/
│ └── libft.a
├── 📁srcs/
│ ├── 📁builtins/
│ │ └── *.c
│ ├── 📁execution/
│ │ └── *.c
│ ├── 📁parsing/
│ │ └── *.c
│ └── 📁utils/
│ └── *.c
└── Makefile
- 📂 libft: My implementation of some of the Standard C Library functions compiled into a library
- 📂 src: Source file
- 📂 buildtins: buildtins functions
- 📂 parsing: parsing functions
- 📂 execution: execution functions
- 📂 utils: utils functions
Command | Option |
---|---|
echo |
-n |
cd |
only with a relative or absolute path |
pwd |
none |
export |
none |
unset |
none |
env |
none |
exit |
none |
<
must redirect the input.>
must redirect the output.<<
must receive a delimiter and read the given input until a line containing the delimiter. However, the history does not have to be updated!>>
must redirect the output to append mode.
ctrl-C
, ctrl-D
and ctrl-\
should work as in bash.
In interactive mode:
ctrl-C
displays a new prompt on a new line.ctrl-D
exits the shell.ctrl-\
does nothing
|
The output of each command in the pipeline is connected to the input of the next command by a pipe.
- Do not interpret unclosed quotation marks or special characters, such as
\
(the backslash) or;
(the semicolon). '
(single quote) which should prevent the shell from interpreting the metacharacters characters present in the sequence between quotes."
(double quote) which should prevent the shell from interpreting the metacharacters characters present in the sequence between quotes except the $ (dollar sign).