Ce projet consiste à créer un shell simple. Vous apprendrez beaucoup sur les processus et les descripteurs de fichiers.
- 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 absolupwd
sans optionsexport
sans optionsunset
sans optionsenv
sans options ni argumentsexit
sans options
- No leaks
- No crashes
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
export PATH=$HOME/.local/bin:$PATH
minishell
name=minishell
rm -rf $name
rm $HOME/.local/bin/$name
rm $HOME/.local/src/$name
rm $HOME/.local/include/$name