You are required to implement a myssh (my simple shell) in Linux/Unix using C. I need this done in 2, 3 days max!!!
The myssh shell should allow a user to create new processes and view the progress of current processes.
In it's simplest form it should allow the user to execute an already available process.
myssh-shell:> ls -la
The myssh shell should also have acess to any underlying system variable
The myssh shell should support the following characteristics.
1. I/O redirection
Example: myssh-shell:> sort < file1 > file2
2. Concatenations (Appending a file into another file)
Example: myssh-shell:> cat file1 >> file2
Example: myssh-shell:> cat file1 file2 file3 | sort > file4
4. Executing commands in the background
Example: myssh-shell:> sort file1 & ; ls & ;
5. Accept simple signals
For example the Control+C should terminate the current process, not the rssh-shell
Also Control+Z should be ignored
6. Wild character support
Example: myssh-shell:>ls file*.t?t
7. Aliases handling
Example: myssh-shell:> createalias myhome "cd /home/users/myusername"
myssh-shell:> destroyalias myhome
8. Display Command History
The shell should display the XX last commands the user entered. The user should be allowed to execute one of those commands without typing it (for example by pressing the UP key)
FINALLY. THE CD command needs to be implemented (using chdir() in C)
Also the ls command needs to be implemented ! You will propably use *glob* or *fnmatch* for wildcards...
I attach starting code to work on it..