| .. | ||
| 42shelltest-tmp | ||
| includes | ||
| libft | ||
| sample | ||
| shellscript | ||
| src | ||
| test | ||
| TESTSHELL | ||
| .gitignore | ||
| .gitmodules | ||
| .tags | ||
| .valgrind.supp | ||
| auteur | ||
| donovan_segaults_06-02 | ||
| Makefile | ||
| README.md | ||
| scriptheader.sh | ||
| test_framework.sh | ||
| update_makefile.sh | ||
42sh
42sh school project.
Mandatory part:
- Prompt without line edition.
- Builtins
cd,echo,exit,env,setenv,unsetenvwith there options. - Executing simple commands with there parameters using
PATH. - Support for redirection
>,>>,<and|. - Logical operand
&&and||. - Separator
;.
Optional feature (five of theses are mandatory to validate the project):
- Inhibitors
",'and\. - Advanced redirections: aggregation of file output and heredoc
<<. - Globbing:
*,?,[],{}, etc. - Backquotes `.
- Subshell with operand
(). - Local variable and builtin
unsetandexport. - History with builtin
historyand!with options. - Advanced line edition.
- File descriptors and builtin
readwith options. - Dynamical autocompletion.
Optional feature highly appreciated:
- Job Control and builtins
job,fg,bgand operand&. - Shell Scripting.
shell / subshell
line editing
| Keys | Functions |
|---|---|
| Opt+C Opt+X Opt+V |
Copy Cut Paste |
| Opt+< Opt+> |
Move per words. |
| Opt+^ Opt+v |
Move per line. |
| Ctrl+L | Clear screen. |
| Ctrl+C | Terminate/Kill current foreground process. |
| Ctrl+Z | Suspend/Stop current foreground process. |
history
| Keys | Functions |
|---|---|
| ^ v |
Browse the history. |
| Ctrl+R | Research function. |
!! |
Retype the last command. |
!n |
Retype the n(numerical value) command from the begin of history. |
!-n |
Retype the -n(numerical value) command from the last command. |
!name |
Search for a command beginning with name. |
!?name |
Search for a command which contain name. |