Your shell shall be invoked from the Ash shell provided with Minix.
Your shell shall first execute a PROFILE file which defines the PATH variable that will allow you to access programs provided in /bin and /usr/bin. Once the PROFILE file is executed, you will be in a HOME directory specified by you in the PROFILE file. The PATH and HOME variables do not replace those of the Ash shell from which your shell is instantiated.
In a command line of your shell you will be able to exercise any executable programs including the utilities provided in /bin and /usr/bin.
Implement the indirection operator =>. In the command line $ls => File, the list of files in the directory is stored in the file File. You cannot use the > operator provided by Ash shell to implement this.
Your shell will remember the commands that a user had entered. In the future, when the user wants to enter a command again, she needs to type only the first few characters and then the Tab key, your shell will fill in the rest of the command line. If she does not like that suggestion, she will enter the Tab key again, your shell will suggest the next best match. If she types any other key, your shell will stop suggesting until the next command. If she modifies the suggested command, your shell will remember that too. The memory of past commands survives after the shell exits.
Your shell will set an alarm which fires 5 seconds after it has launched a command. After the alarm fired, your shell will ask the user whether he/she wants to terminate the command and will terminate the command if the user approves. The user can turn off and on the command by entering ctrl-d.
Submit the following in a zip file:
An executable of your shell
Source code of your shell programs
Any other executable and shell to test your programs
A readme on how to use and test your program
We at SyntaX are strong believer of the Linus Torvalds ideology, so we would like to help you out in making this project. We have created various shells before and are really looking forward to this as well. We are also a member of the Minix Community and frequently contribute to the source. Please put your faith and money in us and we will not let you down
Looking forward to your message