42-archive/42sh/README.md
2017-03-20 20:50:25 +01:00

2.2 KiB

42zsh


42sh school project.

Mandatory part:

  • Prompt without line edition.
  • Builtins cd, echo, exit, env, setenv, unsetenv with 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 unset and export.
  • History with builtin historyand ! with options.
  • Advanced line edition.
  • File descriptors and builtin read with options.
  • Dynamical autocompletion.

Optional feature highly appreciated:

  • Job Control and builtins job, fg, bgand operand &.
  • Shell Scripting.

Shell / Subshell

Line Edition

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.

Autocompletion

Globbing

Hash Table

Builtin Read

Job Control

Scripting