MINISHELL
hello there im emre and this is the readme of minishell
Bash is a command processor that typically runs in a text window where the user types commands that cause actions.
Bash can also read and execute commands from a file, called a shell script. Long story short, bash is the
terminal's language in Unix/Linux systems.
In ecole 42 schools me and my friend Can started the project minishell together. We finished in almost 2 months.(yeah, a little much)
We messed around with tons of segmentation faults, bus errors and aborts.
So this is a command line processor and we had to choose a walkthrough. You can see it below,
So in 'lexer' stage we need split command (our input) into pieces like below;
In expander, we should expand variables contained by environment variables like HOME, USER, PWD etc.
Before that what is environment variables? The shell uses environment variables to store information,
such as the name of the current user, the name of the host computer, and the default paths to any commands.
Environment variables are inherited by all commands executed in the shell's context, and some commands
depend on environment variables.
We splitted and expand our input. Now we should parse input into nodes and analyze every node,
like this is command, this is just text and this is the outfile stream of this node etc.