We have recreated a shell from scratch, with a minishell tester included, using only our own library (libft) and a limited range of external functions.
Minishell is compatible with macos and linux. Tester is compatible with linux only, tested on 42's virtual machine.
$> git clone https://github.com/42f/MINISHELL_42.git
$> cd MINISHELL_42
To use Minishell:
$> make && ./minishell
To run tester:
$> make tester
Includes a home made minishell tester:
Features |
---|
Display prompt |
Fetch and execute binaries |
Logic && || |
Single and double quotes management |
Files redirections >> > < (except file descriptor agregations) |
Pipes |
Environment variables |
Internal variables |
Expansion |
Ctrl + D |
Ctrl + \ |
Ctrl + C |
Signal catching |
Builtins |
---|
echo: with -n option |
cd with relative and absolute path: with - options |
pwd: no option |
export: no option |
env: no option |
unset: no option |
set: no option |
exit: with arguments |
history: no option |
Shortcuts | Description |
---|---|
↑/↓ |
Navigate on the command history |
shift + → |
Select while moving right |
shift + ← |
Select while moving left |
shift + ↑ |
Copy selection |
ctrl + ↑ |
Cut selection |
shift + ↓ |
Past clipboard |
home |
Move cursor at the commande line's starting point |
end |
Move cursor at the command line's end |
ctrl + → |
Move one word right |
ctrl + ← |
Move one word left |
shift + home/end |
Select up to the beginning/end of the command line |
shift + ctrl + →/← |
Select one word at a time |