/42sh

Fully functional shell in C. Variables, paths, globbing, jobs... handled. Interpreting done with an LL parser and an AST

Primary LanguageC

!!! IF YOU ARE FROM EPITA's ING1 AND CURRENTLY DOING THIS PROJECT DON'T CHEAT !!!

# 42sh

Recreation of a shell from nothing using C

## Use 42sh

### Prerequisites

To run this project, the requirements are :

```
 gcc
```

### Installing

You can clone this repository and jump inside it

```
git clone git@git.assistants.epita.fr:p/2022/42sh/pierrick.made-42sh.git 42sh
cd 42sh
```

Then you can generate the executable using cmake

```
mkdir build
cd build
cmake ..
make
```

An executable called 42sh is now available !

### Usage

You can launch the shell using the executable at the root of the project:

```
./42sh
```

## Run tests of 42sh

You can also run the unit testsuite of 42sh

```
cd build
make check
```

To run the fonctional testsuite you need to launch the python script in tests

```
python tests/42sh_tests.py --help
```

## AUTHORS

- cloé.lacombe
- nicolas.blin
- zakaria.ben-allal
- pierrick.made