Skip to content

Custom shell program written in C, mimicking fundamental functionalities of standard Unix shells.

Notifications You must be signed in to change notification settings

YazeedT/smallsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smallsh - Custom Shell in C

Description

Smallsh is a custom shell program written in C, mimicking fundamental functionalities of standard Unix shells. It's designed to execute commands in both interactive and non-interactive modes, handle expansions, manage background processes, and incorporate custom signal handling.

Features

  • Interactive and Non-Interactive Modes: Run commands directly or via a script file.
  • Command Execution: Built-in standard Unix commands: "cd, exit"
  • Background Process Management: Ability to run processes in the background.
  • Signal Handling: Custom handling of SIGINT and SIGTSTP.
  • Input Redirection: Support for input redirection using '<'.
  • Output Redirection: Support for output redirection using '>'.

Installation

  1. Clone the repository:

    git clone https://github.com/YazeedT/smallsh
  2. Navigate to the cloned directory:

    cd smallsh
  3. Compile the program using the provided Makefile:

    make

Usage

  • Run the shell in interactive mode:

    ./smallsh
  • Run the shell in non-interactive mode (script mode):

    ./smallsh scriptname

Built-in Commands

  • exit: Exits the shell.
  • cd: Changes the current working directory.

About

Custom shell program written in C, mimicking fundamental functionalities of standard Unix shells.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published