Skip to content

ivankozlovcodes/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minishell

TOC

Part of 42 SV school curriculum.

Creator: 42 staff. Task description

What is it about?

Minishell is a simple unix command line interpreter, also including several built in shell functions. Such as:

  • echo
  • cd
  • env
  • setenv
  • unsetenv
  • exit

During the development I used bash and csh terminals as a reference. Additional features:

  • Signal handling(ctrl-C, ctrl-D).
  • Colors.
  • Multi command support(separated by ;).
  • Advanced quotes support. Weak/strong quotes expantion. Managing correct quotes input.
  • Using errno for correct error management.

How does it work?

Building

Download and compile the repo:

    git clone https://github.com/IvanKozlov95/minishell
    cd minishell
    make

Executable minishell will be created.

Using

Launch minishell executable. Minishell will be launched inside of your terminal. Feel free to go around and have fun. It supports all shell commands without anything advanced. So no pipes and redirections. However commands can be separated by ;.

Author

This project was developed by Ivan Kozlov @ivankozlov95.

License

This project is licensed under the Apache License.

Dependencies

This project heavily dependent on my c library libft.

Releases

No releases published

Packages

No packages published