Skip to content

Skalyaeve/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minishell

Ce projet consiste à créer un shell simple. Vous apprendrez beaucoup sur les processus et les descripteurs de fichiers.

Preview

Checklist

  • Parsing
  • Environnement
  • Exécution
  • Statut de sortie
  • Pipes/Redirections
  • Guillemets simples/doubles
  • Historique
  • SIGINT, SIGQUIT
  • Builtins:
    • echo with option -n
    • cd avec uniquement un chemin relatif ou absolu
    • pwd sans options
    • export sans options
    • unset sans options
    • env sans options ni arguments
    • exit sans options
  • No leaks
  • No crashes

Install

sudo apt update -y
sudo apt install -y gcc
sudo apt install -y make
sudo apt install -y libreadline-dev
mkdir -p $HOME/.local/bin
mkdir -p $HOME/.local/src
mkdir -p $HOME/.local/include
name=minishell

git clone https://github.com/Skalyaeve/$name.git
cd $name && make && make clean

ln -s $PWD/$name $HOME/.local/bin/$name
ln -s $PWD/src $HOME/.local/src/$name
ln -s $PWD/include $HOME/.local/include/$name

Usage

export PATH=$HOME/.local/bin:$PATH
minishell

Uninstall

name=minishell

rm -rf $name
rm $HOME/.local/bin/$name
rm $HOME/.local/src/$name
rm $HOME/.local/include/$name