This project was my first experience doing a shell (a mini UNIX command interpreter) and managing process creation and synchronisation. I followed -> this subject <- rules to develop the shell.
-
A promt that reprints itself when a command finishes execution;
-
It executes any command found in the PATH provided by the environment and a few builtins:
. cd
. env
. setenv
. unsetenv
. exit
. 8 (that's an eight ball command)
. lozenge (that is just a sweet personal touch to the shell)
-
It manages the expansions $ and ˜
Clone this repositorie, after that, execute those commands:
1 | make all
2 | ./minishell
3 | test out the commands and enjoy this cozy shell!
- GETCWD( )
- FORK( )
- WAITPID( )
- CHDIR( )
- EXECVE( )
- RAND ( )
- EXIT_SUCCESS and EXIT_FAILURE
- cd Main Page
- Var environ
- The Environment Access
- Standard Environment Variables
- Bitwise operators in C
- Where's the temp folder
- How to use waitpid( )
- How to kill a process from the command line
- Adding color in C
The Linux Programming Interface (2010) - Michael Kerrisk