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