- Get familiar with the system API
- Get to know the many functionalities of the shell
- Understand how to customize or write simple scripts
- Know how to create and control system processes
- Understand the key concepts of lexing and parsing
- globbing ★✩✩✩
- path expansions (tilde expansions, parameter expansions) ★✩✩✩
- pipes & the redirections >, <, >> and << ★★★✩
- handling the exit status of commands ★✩✩✩
- command substitution with the backquotes ★★✩✩
- logical operators && and || ★★✩✩
- signals handling ★★✩✩
- subshells with () ★★✩✩
- quoting (quotes & escape characters) ★✩✩✩
- command-line edition with the curses module (being able to move the cursor with arrows left & right to edit some part of the line, key combination of your choice to go at the beginning & at the end of the line, arrows up & down to move inside the history...) ★★★✩
- the command history with the builtins history and ! ★★✩✩
- dynamic command completion ★★✩✩