Skip to content

rurangiza/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

This project is about creating a lightweight version of bash (Born Again Shell).

Features

  • prompts user for input
  • checks user input for valid commands else returns appropriate errors
  • executes commands with options (Ex: ls -l)
  • handles multiple pipes (Ex: ls | head -2 | wc)
  • custom built-ins (cd, pwd, echo, unset, export, env)
  • I/O redirections (<, >, <<, >>)
  • handles signals (Ctrl-C, Ctrl-D, Ctrl-)

What I learned

  • UNIX programming in general
  • bash's behaviour in various situations and how it is implemented
  • How to create processes and retrieve valuable informations from them. Like exit codes
  • How to create a pipeline that handles I/O redirections
  • How to analyze files

Tips & Tricks

  • Use the lsof -c <name_of_your_program> or ps aux | grep program_name commands to see the current processes of a specific program

Useful Links

Tutorials

Manuals

About

Lighweight version of bash

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published