Skip to content

The objective of this project is to create a minimalist shell.

Notifications You must be signed in to change notification settings

Rasaboun/Minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻Minishell 42cursus project💻

Minishell-Screenshot

About

The objective of this project is to create a minimalist shell.

🔨 Usage

Make && ./minishell
Screen.Recording.2023-03-23.at.00.05.19.mov

Project Structure

.
├── 📁includes/
│   └── minishell.h
├── 📁libft/
│   └── libft.a
├── 📁srcs/
│   ├── 📁builtins/
│   │   └── *.c
│   ├── 📁execution/
│   │   └── *.c
│   ├── 📁parsing/
│   │   └── *.c
│   └── 📁utils/
│       └── *.c
└── Makefile

📖 Features

Buildtins

Command Option
echo -n
cd only with a relative or absolute path
pwd none
export none
unset none
env none
exit none

Redirections

  • < must redirect the input.
  • > must redirect the output.
  • << must receive a delimiter and read the given input until a line containing the delimiter. However, the history does not have to be updated!
  • >> must redirect the output to append mode.

Signals

ctrl-C, ctrl-D and ctrl-\ should work as in bash.

In interactive mode:

  • ctrl-C displays a new prompt on a new line.
  • ctrl-D exits the shell.
  • ctrl-\ does nothing

Pipe

| The output of each command in the pipeline is connected to the input of the next command by a pipe.

Quotes

  • Do not interpret unclosed quotation marks or special characters, such as \ (the backslash) or ; (the semicolon).
  • ' (single quote) which should prevent the shell from interpreting the metacharacters characters present in the sequence between quotes.
  • " (double quote) which should prevent the shell from interpreting the metacharacters characters present in the sequence between quotes except the $ (dollar sign).

About

The objective of this project is to create a minimalist shell.

Topics

Resources

Stars

Watchers

Forks