I have some questions about the whole concept of Shells in the C language. For this semester we have to learn C but the teaching skills of the people in my uni aren't that great. So for the first assignment we have to create some shells. Don't get me wrong here, I love programming, I'm NOT asking you to complete my assignment, I just would like some help getting started because I'm kind of lost here.
The first thing I have to do is create a Shell in C language (Different from linux shell scripts I think) and run it on a Ubuntu virtual machine. It's in the very early stages of C programming and we are being taught about the parent-child processes. I quote "This shell, will accept simple single commands. Specifically, it
a) will read the title of a program from the terminal,
b) will create a new process to run the program that just got read and
c) will wait for the process to end.
Once the process is over it will read and execute the next command. For example, the shell will be able to run commands like "ls" ". This confuses me, as I don't understand what a shell is and what form it actually has, and reading about on the internet doesn't really help me. So could you please show me how this should look like? I don't understand how it will run or how it will execute commands like ls. We have been instructed to use fork and strtok for the commands.
Thanks in advance!