Haoran Wang Oct 22 2017
-
Part 1: Parsing and Executing Commands
-
Part 1A: Lex and Yacc - Accepting more complex commands
-
Part 1B: Executing commands
-
1B.1: Simple command process creation and execution
-
1B.2: File redirection
-
1B.3: Pipes
-
1B.4: isatty()
-
Part 2: Signal Handling, More Parsing, and Subshells
-
2.1: Ctrl-C
-
2.2: Exit
-
2.3: Quotes
-
2.4: Escaping
-
2.5: Builtin Functions
-
2.6: Zombie Elimination
-
2.7: Ctrl-Z (Extra Credit!)
-
2.8: Creating a Default Source File: ".shellrc"
-
2.9: Subshells
-
Part 3: Expansions, Wildcards, and Line Editing
-
3.1: Environment variable expansion *
-
3.2: Tilde expansion
-
3.3: Wildcarding
-
3.4: Edit mode
-
3.5: History
-
3.6: Path completion
-
3.7: Variable prompt *
- none
- no extra features