As beautiful as shell
The aim of the project is to recreate a linux terminal from scratch using C programmming language.
In this very simple version, some of the features of a shell were implemented as environment variables, pipes and redirections.
The main goal is to have a good understanding of processes and learn more about file descriptors.
Roman - robitett
Vitoria - vscabell
$ git clone https://github.com/vscabell/minishell
$ cd minishell
$ make
$ ./minishell
$ ./minishell
- Show a prompt when waiting for a new command
- Navigate through command history using up
↑
and down↓
arrows - Builtin implementation:
-echo
(with flag -n)
-cd
(absolute and relative path)
-pwd
-export
-unset
-env
-exit
- Environment variables (
$
followed by characters) - Simple quotes
'
and double quotes"
should work like in bash - Escape special chars with
\
- Multiples commands separated with semicolon
;
- Pipes
|
(except for multiline commands) - Redirections
<
,>
,>>
ctrl-C
,ctrl-D
andctrl-\
signals must be handled$?
it should work like in bash.