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

Describe all elements of a state-chart diagram, a. Initial State: The first...

a. Initial State: The first or the default state the object is in. It is indicated by a solid circle. b. State: All the states an object can go in are mentioned in this. It is

Working of read-only memory, Q. Working of Read-Only Memory? A ROM is f...

Q. Working of Read-Only Memory? A ROM is fundamentally a memory or storage device in which a fixed set of binary information is stored. A block diagram of ROM is as displayed i

Explain design of adder, Q. Explain Design of adder? Adders play one of...

Q. Explain Design of adder? Adders play one of the most significant roles in binary arithmetic. As a matter of fact fixed point addition is frequently used as a simple measure

What is linear bounded automation, What is linear bounded automation?  ...

What is linear bounded automation?   A linear bounded automation is restricted type of Turing machine where in the tape head isn't permitted to move off the portion of the tape

Nand gate, The NAND gate. The NAND gate is equivalent to an AND gate fo...

The NAND gate. The NAND gate is equivalent to an AND gate followed by a NOT gate so that the output is 0 when all of the inputs are high, otherwise the output is 1. There may

more data items and methods, Create a class called ticket that records the...

Create a class called ticket that records the information of a performance ticket.The class should include at least six data items: performanceId, seatRow, seatNo, class, price, da

How many i/p & o/p a full adder logic circuit will have, A full adder logic...

A full adder logic circuit will have ? Ans. The full adder logic circuit also accounts the carry i/p generated in the earlier stage and it will add two bits. Hence three inputs

3D rotation, Magnify a triangle with vertices A = (0,0), B = (3,3) and C = ...

Magnify a triangle with vertices A = (0,0), B = (3,3) and C = (6,4) to twice its size in such a way that A remains in its original position.

Explain the scan code, What is meant by scan code?  When a key is press...

What is meant by scan code?  When a key is pressed on the keyboard, the keyboard controller places a code take to the key pressed into a part of the memory known as the keyboar

Machine centred versus human centred, Machine Centred versus human Centred ...

Machine Centred versus human Centred The discussion here is based on the difference in approach to the design of the work system when we prioritise either the needs of the mac

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