- Unix shell
- Thompson shell
- Ken Thompson
- The fork (Codevault)
- Getenv (Portfolio cources)
- Write your own shell (jess-inspired)
- Building a simple-c-shell (Dr Obed)
sh
(Runsh
as well)
The project consists of the following files:
checker
: A script that checks the correctness of the shell's functionality by comparing its output with the expected output.test_suite
: A collection of test cases to validate the shell's behavior and features.AUTHORS
: A file listing the contributors and authors of the project.README.md
: This file, providing an overview of the project and its files.alias.c
: Contains functions related to handling aliases in the shell.alias_builtin.c
: Implements the built-in command for managing aliases.built_in_commands.c
: Implements various built-in commands such ascd
,exit
, andenv
.built_in_function.c
: Contains helper functions used by the built-in commands.echo.c
: Implements theecho
command.error_handler.c
: Contains error handling functions for the shell.execute.c
: Handles executing non-built-in commands in the shell.filename
: A file used for storing filenames during execution.free.c
: Contains functions to free allocated memory in the shell.getcommands.c
: Handles parsing and retrieving user commands.hsh
: The compiled executable of the shell.main.c
: The main entry point of the shell program.main.h
: The header file containing function prototypes and global variables.parse.c
: Implements parsing of user commands and arguments.path_execute.c
: Handles executing commands with their full path.signal.c
: Handles signal handling for the shell.str_functions.c
: Contains string manipulation functions.str_functions2.c
: Additional string manipulation functions.test_ls_2
: A test file used for checking the behavior of thels
command.
To use the shell, compile the source code and generate