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

Write program to simulate conversation with an old and deaf, You are going ...

You are going to write a program to simulate a conversation with an old, deaf relative. You can type your statements, and whatever you say, the relative will reply randomly with on

Determine about selective set- logic micro operations, Selective set Th...

Selective set The selective-set operation sets to 1 bits in register A where there can corresponding 1's  in  register  B.  It  does  not  affect  bit  positions  which  have

What is the use of digital switch, What is the use of digital switch? ...

What is the use of digital switch? Digital switch: This is a device which handles digital signals generated at or passed via a telephone company’s central office further

Is it possible to decrease clock skew to zero, Is it possible to decrease c...

Is it possible to decrease clock skew to zero? Describe your answer? Even if there are clock layout strategies (H-tree) which can into theory reduce clock skew to zero by havi

What is polling, What is polling? Polling is a scheme or an algorithm t...

What is polling? Polling is a scheme or an algorithm to recognize the devices interrupting the processor. Polling is employed when multiple devices interrupt the processor by o

What is scan, What is "Scan"? Scan Insertion and ATPG helps test ASICs ...

What is "Scan"? Scan Insertion and ATPG helps test ASICs (e.g. chips) during manufacture. If you know what JTAG boundary scan is, then Scan is the similar idea except that it i

What is model view controller (mvc), Model-View-Controller (MVC) is a desig...

Model-View-Controller (MVC) is a design pattern in which "the user input, the modelling of the external world and the visual feedback to the user are explicitly splitted and handle

Multi-threaded concurrency programming with threads, Your task is to implem...

Your task is to implement a memory manager that manages page reads and writes from multiple client threads. In the first programming task the memory manager keeps all the pages in

Define programmable logic array and programmable array logic, Define Progra...

Define Programmable Logic array & Programmable Array Logic? Combinational ckt is implemented with ROM Do not care conditions become an address input. PLA is alike to ROM. PLA d

How to create dlq rules table, DLQ - Dead Letter Queue If an applicati...

DLQ - Dead Letter Queue If an application tries to put a message to one more application and if it is not delivered then it goes to the DLQ. So DLQ is not anything but all und

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