getnextline | ||
libft | ||
printf | ||
src | ||
.gitignore | ||
en.subject.pdf | ||
LICENSE | ||
Makefile | ||
minishell.h | ||
minishell.pdf | ||
Readme.md |
Project Name
Minishell is a lightweight implementation of bash
Todo
Environment
- Write new CWD to $CWD
- Parse ~/.mshrc
- write return code to $?
Prompt
- Rework execution time so it works cross platform, maybe with time?
- Fix on Mac, Total garbage
Parser
- Quotes
- ;
- {} () < > << >> <<< | [] ? & && ||
-
- $NAME $(command)
- prepare commands for execve
Exec
- fork if there are pipes
- execve all the commands
Builtins
- cd
- export
- unset
- alias
- env Test properly
- pwd Test properly
- echo Test properly
- exit Test properly
Signals
- ^C should break the readline
- ^\ shouldn't print anything
Bugs
crashes when giving proper memory and a lot of arguments
Overwrites line when typing past the terminal width at first command
Improvements
Handle scripts from stdin or argument
- Functions()
- Statements, if, then, else, elif, while, for
Posix Compliant
- //// is the same as / or /////////////////////////////
Extra Builtins
- z to jump around
Usage
- Simply clone or download the repository
- Run
make
in the cloned directory - Start the shell with
./minishell
Tester
Todo
- Figure out the best way to test minishell