Skip to content

Developed a fully functional Custom Command-Line Shell in C, demonstrating strong system-level programming skills and deep understanding of OS fundamentals.

Notifications You must be signed in to change notification settings

Opikadash/custom-shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

# Custom Shell

A fully-featured custom command-line shell written in C, demonstrating system-level programming with features like piping, input/output redirection, command history with SQLite database support, command aliases, and tab completion.

---

## Features

- Execute commands with support for I/O redirection (`>`, `<`) and pipes (`|`)
- Background job execution with `&`
- Command history stored persistently using SQLite
- User-defined command aliases
- Tab completion using GNU Readline
- Signal handling for clean interruption (Ctrl+C)
- Modular codebase for easy maintenance and extensibility

---

## Prerequisites

- Linux environment (Recommended: WSL on Windows, Ubuntu, etc.)
- GCC compiler
- GNU Readline library
- SQLite3 development libraries
- Make

---

## Installation & Build

1. Clone the repository:

   ```bash
   git clone https://github.com/yourusername/custom-shell.git
   cd custom-shell
  1. Build the project:

    make
  2. Run the shell:

    ./shell

Usage

Type commands as you would in a regular shell. Use arrow keys for command history navigation. Press Tab for auto-completion of commands and aliases.


Project Structure

  • src/ — Source code files
  • include/ — Header files
  • Makefile — Build instructions
  • README.md — This file

Contribution

Contributions are welcome! Feel free to open issues or submit pull requests.


License

This project is licensed under the MIT License. See the LICENSE file for details.


About

Developed a fully functional Custom Command-Line Shell in C, demonstrating strong system-level programming skills and deep understanding of OS fundamentals.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published