A simple Unix shell implementation in C. This project supports basic commands, piping, redirection, and signal handling. It's an ideal project for learning shell scripting and process management.
- Execute basic Unix commands
- Handle command piping (
|
) - Support for input and output redirection (
<
,>
,>>
) - Support for heredoc (
<<
) - Signal handling (e.g.,
Ctrl+C
) - Simple history of command
- Built-ins such as
cd
.pwd
.env
,export
,unset
, ...
- GCC (GNU Compiler Collection)
- Make
Clone the repository:
git clone https://github.com/ruzafa8/minishell.git
cd minishell
Compile the minishell:
make
Run the minishell:
./minishell
-
Running a basic command:
minishell$ ls -l
-
Using command piping:
minishell$ ls -l | grep minishell
-
Redirecting output to a file:
minishell$ echo "Hello, World!" > hello.txt