Simple Shell
1. What is Shell ?
The shell is a Command Line Interface(CLI) that can be used to interact with the kernel of an Operating System OS specifically for linux. It can basically do any task that a GUI file explorer or file manager can do like navigating through folder deleting and creating files. But with more flexable features like scripting. with scripting you can automate tasks that are done frequently through out the day without the interfirence of humans and many many more you can read more about shells here.
2. Installtion
To preceed with the installation process you will need the following tools.
- A machine that is running Linux distro.
- Gcc compiler
git clone https://github.com/mikias-abiy/simple_shell.git
Then, Navigate to the directory you cloned.
cd simple_shell
Then, Compile the source code with gcc with the following command.
gcc -std=gnu89 *.c -o hsh
Then, run the executable with the follwing command.
./hsh
Then, You should see something like this.
#cisfun$
Here is an example input output.
SHELL> gcc -std=gnu89 *.c -o hsh SHELL> ls a.out AUTHORS DEV hsh lenv.c lenv.h lmemory.h lstring.h main.h memory.c README.md shell.c string_2.c string.c text SHELL> ./hsh #cisfun$ ls a.out AUTHORS DEV hsh lenv.c lenv.h lmemory.h lstring.h main.h memory.c README.md shell.c string_2.c string.c text #cisfun$ ls a.out AUTHORS DEV hsh lenv.c lenv.h lmemory.h lstring.h main.h memory.c README.md shell.c string_2.c string.c text #cisfun$ ls a.out AUTHORS DEV hsh lenv.c lenv.h lmemory.h lstring.h main.h memory.c README.md shell.c string_2.c string.c text #cisfun$ test #cisfun$ test #cisfun$ file Usage: file [-bcCdEhikLlNnprsSvzZ0] [--apple] [--extension] [--mime-encoding] [--mime-type] [-e] [-F ] [-f ] [-m ] [-P ] [--exclude-quiet] ... file -C [-m ] file [--help] #cisfun$ jl ./hsh : No such file or directory #cisfun$
3. Feature supported for the moument
- Command execution
- Getting information about the envirnoment
- Others comming soon.
4. Authors
- Nebiyu Samuel [nebiyuhiyabu@gmail.com]
- Mikias Abiy [mikias_abiy@proton.me]