In this project we have developed a basic, yet powerful shell --skerl for the unix/linux systems.
These instructions will get you a copy of the project and ready for use on your local unix/linux machine.
The shell developed is target for unix/linux systems only.
-
Click on the link to download skerl - skerl.zip
-
Extract the zip folder
- You can download the latest release of skerl from here.
-
GNU GCC complier
-
Clone this repository using the command:
git clone https://github.com/KrishnanSG/skerl.git cd skerl
-
Complie and create executable
gcc skerl.c -o skerl.out
You're almost there. The following steps will guide you on how to get start with skerl.
- Open your favourite terminal
- Starting skerl shell
./skerl.out
- Enjoy skerl 😀.
You may use the help command to get help regarding the shell
- Parse and tokenize the given command
- Execute any given program
- Maintains history of all commands for quick access
- Input redirection
eg: /home/user$ wc -l < story.txt
- Output redirection
eg: /home/user$ ls > out.txt
/home/user$ ls >> out.txt // append mode
- Pipes
eg: /home/user$ cat story.txt | wc -l
- Execute process in background when suffixed with (&)
eg: /home/user$ program.o -arg1 -arg2 &
- Provides stats on usage of shell. Try out the following internal commands.
globalusage
averageusage
This is a really interesting section as developer you would love to visit. Keeping this in mind we have provide a pretty detailed explaination.
The report we have created contains:
- What is a shell?
- Lifetime of a shell
- Internal vs External commands
- Implementation of skerl
- Working of skerl
- Conclusion
- Krishnan S G - @KrishnanSG
- Sadham Hussain - @Sadham-Hussian