SkillAgentSearch skills...

Minishell42

creating a shell using bash as a reference

Install / Use

/learn @lpincoli/Minishell42
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1>Minishell</h1> <p>The aim of the Minishell project is to write a simple UNIX-like shell program in C. It's a great opportunity to learn about process handling, low-level programming, and file descriptor manipulation.</p> <h2>Table of Contents</h2> <ol> <li><a href="#about">About</a></li> <li><a href="#installation">Installation</a></li> <li><a href="#usage">Usage</a></li> <li><a href="#features">Features</a></li> <li><a href="#built-in-commands">Built-in commands</a></li> </ol> <h2 id="about">About</h2> <p>Minishell is a challenge to create a working shell, similar to something like bash. The shell will have features like executing commands with their parameters, handling environment variables, and implementing some built-in commands.</p> <h2 id="installation">Installation</h2> <ol> <li>Clone the repository: <pre><code>git clone https://github.com/lpincoli/Minishell42.git</code></pre></li> <li>Move to the project's directory: <pre><code>cd Minishell42</code></pre></li> <li>Compile the project: <pre><code>make</code></pre></li> </ol> <h2 id="usage">Usage</h2> <p>The shell should be launched from the command line after running 'make'. You should see a prompt displaying where you can enter various commands.</p> <p>Run the program like this:</p> <pre><code>./minishell</code></pre> <h3 id="features">Features</h3> <ul> <li>Display a prompt for new commands</li> <li>Command history</li> <li>Search and launch executables based on PATH variable or absolute/relative path</li> <li>Handle quotes and special characters</li> <li>Implement simple redirections and pipes</li> <li>Manage environment variables</li> <li>Handle ctrl-C, ctrl-D, and ctrl-\ inputs as bash does</li> </ul> <h3 id="built-in-commands">Built-in commands:</h3> <ul> <li>echo with option -n</li> <li>cd with only a relative or absolute path</li> <li>pwd with no options</li> <li>export with no options</li> <li>unset with no options</li> <li>env with no options or arguments</li> <li>exit with no options</li> </ul> <h2>Subject</h2> <p>For more information about the project, read the subject file.</p>
View on GitHub
GitHub Stars10
CategoryDevelopment
Updated7mo ago
Forks0

Languages

C

Security Score

67/100

Audited on Aug 20, 2025

No findings