Skip to content

capmann/ft_minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ft_minishell

Reproduce a basic shell like bash (C)

Description:

Minishell is a compact and efficient shell program, akin to a miniature version of Bash. The project's main goal is to delve into the inner workings of a command-line interface and to understand the processes behind shell operations in Unix-like systems. By recreating a functional environment where command execution is possible, Minishell serves as a testament to both system programming skills and a deep understanding of operating system principles. By engaging with system-level programming, Minishell has strengthened my problem-solving skills and my ability to translate complex system concepts into a functional and user-friendly program.

Features:

Command line input and basic command processing
Built-in commands implementation (e.g., cd, echo, exit)
Environment variables management
Signal handling (e.g., Ctrl-C, Ctrl-D, Ctrl-\)
Execution of binaries with arguments and error handling
Expansion of environment variables and command substitution
Piping and redirection to handle input/output flow

Challenges:

Implementing a robust parser and lexer to handle user input
Managing process creation and execution securely and efficiently
Ensuring accurate signal handling for a seamless user experience

Learning Outcomes:

Gained in-depth knowledge of system calls and process management
Advanced understanding of memory management and security considerations in system programming
Enhanced proficiency in the C programming language and Unix system programming

About

Reproduce a basic shell like bash (C)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published