Skip to content

volkov7/21sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is 21sh

forthebadge forthebadge

21sh is a bash-styled shell project completely written from scratch in C with very limited access to libraries and tools.

The learning goals of the project:

  • Learn a lot more about the inner workings of the UNIX system.
  • Learn about the different type of shell implementations.
  • Learn what a lexer is and how to write it.
  • Learn what a parser is and how to write it.
  • Learn how to write nice and clean code.
  • To create a stable and complete UNIX shell.

Functionality

  1. Error monitoring without using errno.
  2. Prompt display.
  3. Complete management of input.
  4. (Multiline) line edition.
  5. Redirection with the following operators:
    • >
    • >>
    • <
    • <<
    • >&
    • <&
  6. Control operators:
    • |
    • ||
    • &&
    • ;
  7. Quoting managment ", ', and \.
  8. Basic parameter expansion.
  9. Command history
  10. Autocomplete
  11. Builtins:
  • echo
  • cd
  • env
  • setenv
  • unsetenv
  • exit
  • type

Installing and running 21sh

Install:

make && make clean

Run:

./21sh

Authors

Volkov Ilya, Alex Buyanov

About

try to copy shell #2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published