Write a linux terminal shell, Computer Engineering

Assignment Help:

Write a Linux terminal shell. Your shell should act similar to bash. At a high level, your shell should accomplish the following:

1. Print a prompt when waiting for input from the user.

2. Continuously accept commands from the user and execute them until the user exits the shell.

_ If the command the user enters does not exist on the system, an error message should be displayed.

3. Accept the change directory command, and appropriately change the current working directory.

_ If the directory the user enters does not exist, an error message should be displayed.

4. Your shell must keep a history of the last 10 commands executed. The user should be able to cycle through the history using the up and down arrow keys.

5. Your shell must accept the pipe "|" operator. This will execute two commands, where the first process will output to the input of the second process.

6. Accept an exit command that will close your shell properly.

7. Ignore characters such as the left arrow and right arrow.

8. Properly handle when the user types delete or backspace keys.


Related Discussions:- Write a linux terminal shell

What is slack, What is slack? 'Slack' is the amount of time you have wh...

What is slack? 'Slack' is the amount of time you have which is measured through while an event ‘really happens' and while it ‘should happen’. The term ‘really happens' can a

Using the memory map design an absolute decoding circuit, Using the memory ...

Using the memory map below; design an absolute decoding circuit.   The technique is to spot the differences between the start and stop of each device. The Ram chip has the follow

Explain an exceptional handling in java with an example, Explain an excepti...

Explain an exceptional handling in java with the help of suitable example. Java exception handling is managed through five keywords: catch, try, throw, finally and throws. Th

What is functions indention, Use tabs to bring some structure into your fun...

Use tabs to bring some structure into your function body if(nPos > 1) then nRetrun = True else nRetrun = False end if

Difference between latches and flip-flops based designs, What is the differ...

What is the difference between latches and flip-flops based designs Latches are level sensitive whether flip-flops are edge sensitive. So, latch based design and flop based des

C++, explain parallel database system

explain parallel database system

What does realized mean, Realized mean that the component has been painted ...

Realized mean that the component has been painted on screen or that is prepared to be painted. Realization can take place by invoking any of these methods. setVisible(true), show()

Electric circuit analysis, mmmmmmmmmmmmm mmmmmmm s s s s s s s s s d d d ...

mmmmmmmmmmmmm mmmmmmm s s s s s s s s s d d d d d d d d d d d d d d f f ff g gg g g g g gg r r r rr r w ww w w ww w w

Data packet from one network to another, A device that forwards data packet...

A device that forwards data packet from one network to another is known as a  Switch device.

Design a 1-bit full adder, Design a 1-bit full adder: Verify your desig...

Design a 1-bit full adder: Verify your design Use the 1-bit full adder to build a 4-bit adder with Ci=0 Verify: 1 + 4, and 9 + 9 Sram design: Cell: p - 0.5/0.045;

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd