Skip to content

Latest commit

 

History

History
53 lines (46 loc) · 1.39 KB

File metadata and controls

53 lines (46 loc) · 1.39 KB
minishell

Score: 125/100

Minishell

This project is an introduction to the world of Unix system programming.

The objective of this project is for you to create a simple shell. Yes, your own little bash. You will learn a lot about processes and file descriptors.

Usage

make
./minishell

minishell

Features

  • Prompt display
  • Command execution
  • Environment variables
  • Signal handling (Ctrl-C, Ctrl-D, Ctrl-\\)
  • Built-in commands:
    • pwd
    • echo [-n] [string ...]
    • cd with oldpwd support
    • export support for += and without value
    • unset
    • env
    • exit [status]
  • Pipes |
  • Redirections >, >>, < and <<
  • Logical operators && and ||
  • Parentheses () for logical operators and pipes
  • expansion
    • ~
    • $?
    • $
    • ""
    • ''
    • wildcards expansion (*, ?)
    • unescaped characters (\, \n)
    • Support of non_interactive / interactive mode
    • Execute commands through the Arguments
    • Working directory and $PATH management
    • Support of multiple commands separated by ;

Debug

make debug