Skip to content

katerynazinchuk/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

296 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minishell

Minishell is a project for the 42 school curriculum. It is a simple Unix-like shell written in C that supports command execution, pipes, redirections, and other basic shell features. The project uses an abstract syntax tree (AST) for parsing, dispatch tables for built-in commands, and clear error handling.

Developed in collaboration with @tetiana-cherni.

Features

  • Command execution with arguments
  • Pipes and redirections (including heredoc)
  • Environment variable expansion
  • Built-in commands
  • Command history
  • Signal handling (Ctrl+C, Ctrl+D)
  • Exit status handling ($?)
  • Memory management to prevent leaks

Work Split

Me:

  • Lexer and parser
  • Signal handling
  • Built-ins
  • Heredoc

@tetiana-cherni:

  • Environment variable expansion
  • Executor
  • Error handling

Shared responsibilities:

  • Memory management
  • Testing and debugging

Build and Run

make
./minishell

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors