Run the following commands to start the shell:
$ make
$ ./a.out
The shell displays a prompt and is ready to take input commands.
To quit, enter 'quit' or hit Ctrl D.
This contains the main function of the program.
The main function includes the primary shell-loop of the program.
It reads the input string and parse into commands broken by a semi-colon and execute commands.
This file is responsible for implementing and printing the prompt of the shell.
This is responsible for implementing 'cd' functionality.
This is responsible for implementing 'echo' functionality.
This is responsible for implementing 'pwd' functionality.
This is responsible for implementing 'ls' functionality.
can enter max 60 directories as arguments for an ls command.
This is responsible for implementing 'pinfo' functionality which prints the information regarding a process on the terminal.
This is responsible for implementing 'pinfo' functionality.
This includes all the header files used from C Library and user defined header files. it also has global variables declared.
Ctrl-D Exits the shell.
Ctrl-Z Pushes the currently running foregorund job to background after stopping it.
Ctrl-C Sends the SIGINT signal to interrupt the current foreground process.
Displays all the currently Running/Stopped jobs based on the flag given as argument.
bg < jobnumber > Changes a stopped background job given by job number to running.
fg < jobnumber > Resumes a running or stopped background process given by the entered job number and brings it to the foreground.
This is responsible for implementing piping functionality.
This is responsible for implementing redirection functionality.
Both redirection and piping can be handled with use of the " < "," > "," >> " or "| " operators.
This is responsible for printing exit status of background processes.
This is responsible for implementing sig command.
1.inputstr can be 100000 characters long i.e, The total no. of commands separated by semi-colon should be less than 100.
2.lenth of each command is at most 1000.
3.total number of background processes that can be run during one session of shell program is 100.