Skip to content

Shell based on TCSH in C using only the GNU Lib C

Notifications You must be signed in to change notification settings

KalinkaGit/42sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epitech Shell | 42sh

Description of the project

The goal of this project is to create a UNIX shell based on tcsh

The project is the following of the minishell1 and minishell2 projects. This project is the last project of the year for the PSU track.

The code architecture is clean and simple and the project is tested with a CI/CD through github actions on every push. Integration tests are also run in order guarantee the robustness of the program

Objectives of the project

Mandatory:

  • spaces and tabs
  • $PATH and environment
  • errors and return value
  • redirections (‘<’, ‘>’, ‘<<’ and ‘>>’)
  • pipes (‘|’)
  • builtins: cd, echo, exit, setenv, unsetenv
  • separators: ‘;’, ‘&&’, ‘||’

Optional:

  • inhibitors (‘\’)
  • job control (‘&’, fg)
  • variables (local and env)
  • history (‘!’)
  • aliases
  • line edition (multiline, dynamic rebinding, auto-completion dynamic)

Bonus features:

  • Integration tests
  • Project organization (through volta)
  • Custom prompt

About

Shell based on TCSH in C using only the GNU Lib C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published