Skip to content

💻 💾 Shell written in C - first year project at Epitech School

Notifications You must be signed in to change notification settings

baylesa-dev/T-SH

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

T-SH

Unix Shell - man tcsh


Description

This project is the rewrite of a Unix shell, in C with libC.

It displays a prompt, parse and execute some commands.

Parsing and execution

  • This shell can handle:
    • space and tabs (multiples, errors, ...)
    • $PATH and environment
    • errors and return value
    • redirections (<, >, << and >>)
    • pipes (|)
    • builtins: cd, echo, exit, setenv, unsetenv
    • separators: ;, &&, ||

For instance, you should be able to execute the following command:

➜ ./t-sh

t-sh> cd ; </etc/hosts od -c | grep xx | wc >> /tmp/z -l ; cd - && echo "OK"

You can move throught you shell line with your arrow keys. ✨

There is also an command history ! Find it with up and down arrow keys. ✨✨


Installation

Prerequisites

🚨 This program only work on Unix based operating systems. 🚨

Install essentials build tools:

sudo apt install build-essential

Compilation

Clone repository:

git clone https://github.com/baylesa-dev/T-SH.git && cd T-SH

Compile sources:

make

Execute:

./t-sh

About

💻 💾 Shell written in C - first year project at Epitech School

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published