Skip to content

AntoinePoisson/myShell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myShell

Purpose:

myShell or 42sh is a 1st year Epitech project.
It's a command-line interpreter Bash-like.

42sh

Usage:

Installation:

$>  git clone https://github.com/AntoinePoisson/myShell.git
$>  cd myShell && make
$>  ./42sh

Explication:

42SH NAME
42sh - Shell inspire of TCSH

42SH DESCRIPTION
42sh is a UNIX Shell with a lot of features, like autocompletion, history, alias,
  globing.

42SH FEATURES
Prompt

 When standard input is a tty, termcaps prompt is available and includes a lot of features:
         - CTRL^D : Exit the 42sh
         - CTRL^L : Clear the screen
         - CTRL^A : Move to the start of the line
         - CTRL^E : Move to the end of the line
         - Right and Left Arrows : Move into command line
         - Up and Down Arrows : Brows throught commands history

Features

  • Prompt with line edition
  • Builtins alias, bg, cd, echo, exit, export, fg, hash, jobs, set, source, test, type, unalias, unset
  • Executing simple commands
  • Redirection >, >>, < and |
  • Heredoc <<
  • Logical operands && and ||
  • Separator ;
  • Inhibitors ", ' and \
  • Environment and local variables $VAR or ${VAR}
  • Command substitution $(CMD)
  • Dynamical autocompletion