Skip to content
/ shell Public

Build a terminal with many functionalities of the shell

Notifications You must be signed in to change notification settings

shekcon/shell

Repository files navigation

Learning outcomes

  • 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

The features implementing

  • 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 ★★✩✩

About

Build a terminal with many functionalities of the shell

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages