Skip to content

Project where we created a simple shell program.

Notifications You must be signed in to change notification settings

TTalvenH/Minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minishell

The Minishell project is a task to create a minimalistic Unix-like shell with the following features:

  • Display a prompt when waiting for a new command.
  • Maintain a working command history.
  • Execute the correct executable based on the PATH variable or specified relative/absolute paths.
  • Avoid interpreting unclosed quotes or unnecessary special characters.
  • Handle single quotes ('), preventing interpretation of metacharacters within quoted sequences.
  • Handle double quotes (") except for $, preventing interpretation of metacharacters within quoted sequences.
  • Implement redirections: < (input), > (output), << (input until a delimiter is encountered), and >> (output in append mode).
  • Support pipes (|) to connect the output of one command to the input of the next.
  • Expand environment variables (e.g., $VAR) to their values.
  • Handle $? to expand to the exit status of the most recently executed foreground pipeline.
  • Handle ctrl-C (new prompt), ctrl-D (shell exit), and ctrl-\ (no action) in interactive mode.
  • Implement built-in commands: echo (-n option), cd (relative/absolute path), pwd, export, unset, env, and exit.

About

Project where we created a simple shell program.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published