https://github.com/gabrieldiem/shell
A bash-like shell implementation in C11 (plus POSIX.1-2008) using Linux syscalls, with built-in commands and IO redirection with pipes
https://github.com/gabrieldiem/shell
7508 c c11 clang fiuba io-redirection linux pipes posix shell
Last synced: about 2 months ago
JSON representation
A bash-like shell implementation in C11 (plus POSIX.1-2008) using Linux syscalls, with built-in commands and IO redirection with pipes
- Host: GitHub
- URL: https://github.com/gabrieldiem/shell
- Owner: gabrieldiem
- License: mit
- Created: 2025-02-09T22:29:52.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-09T22:41:59.000Z (4 months ago)
- Last Synced: 2025-02-09T23:26:09.406Z (4 months ago)
- Topics: 7508, c, c11, clang, fiuba, io-redirection, linux, pipes, posix, shell
- Language: C
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# shell
Repositorio para el esqueleto del [TP: shell](https://fisop.github.io/website/tps/shell) del curso Mendez-Fresia de **Sistemas Operativos (7508) - FIUBA**
## Integrantes
- Victoria Avalos - 108434
- Julieta Perez Goldstein - 107997
- Walter Gabriel Diem - 105618
- Gonzalo Ranzani - 105933## Respuestas teóricas
Utilizar el archivo `shell.md` provisto en el repositorio
## Compilar
```bash
make
```## Pruebas
- Ejecutar todas las pruebas
```bash
make test
```- Ejecutar una **única** prueba
```bash
make test-TEST_NAME
```Por ejemplo:
```bash
make test-env_empty_variable
```Cada identificador de una prueba se muestra entre paréntesis `(TEST_NAME)` al lado de cada _test_ cuando se ejecutan todas las pruebas.
```
=== Temporary files will be stored in: /tmp/tmp0l10br1k-shell-test ===PASS 1/26: cd . and cd .. work correctly by checking pwd (no prompt) (cd_back)
PASS 2/26: cd works correctly by checking pwd (no prompt) (cd_basic)
PASS 3/26: cd with no arguments takes you home (/proc/sys :D) (cd_home)
PASS 4/26: empty variables are not substituted (env_empty_variable)
...
```## Ejecutar
```bash
./sh
```## Linter
```bash
make format
```Para efectivamente subir los cambios producidos por `make format`, hay que hacer `git add .` y `git commit`.