shellso 0.0.1
A shell written in C.
shellso

A shell written in C for the Operational Systems subject at UFSJ taught by Rafael Sachetto.

Online documentation available in here.

Example of usage

Table of contents

  1. Setup
  2. Usage
  3. Unsupported
  4. Authors

Setup

Clone this project in online repo. Be sure that you have installed some C compiler and make. As optional dependencies you can install:

  • Doxygen to generate docs
  • Criterion to run the tests
  • pdflatex to compile the report sudo apt install texlive-latex-base texlive-lang-portuguese

If you choosed to run the tests with Criterion, install it and place the .so files inside a include directory in the root folder. Or set the LD_LIBRARY_PATH environment variable to its installation path.

Usage

Makefile was used to make it easier the process of building the application. Running make in the root folder of the project the message below will be displayed.

Usage: make [target]
targets:
clean Clean all builded files
debug Build an executable to debug
docs Generate Doxygen docs and try to open
help Show a help message
relatorio Generate a report based on docs/relatorio.tex
release Build a release executable
test Build and run tests
test_files Run test scripts comparing lines to the sh output

To use the application the best way to compile it is by using the release target.

make release
bin/shellso

Unsupported

  • Expand variables, commands, wildcards, ... The following does not work like a normal shell
    echo "$ENV_VAR"
    ls *
  • Environment variables before commands
    ENV_VAR=123 echo "$ENV_VAR"

Authors