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

Explain cache organisation, Q. Explain Cache Organisation? Cache memori...

Q. Explain Cache Organisation? Cache memories are found in nearly all latest computers.  They are very helpful for increasing speed of access of information from memory.  Let's

Perform binary subtraction on following, Q Perform Binary Subtraction on fo...

Q Perform Binary Subtraction on following: 1) 1101-1000 2) 111.11-101.1 3) 1101.1-1010.01 Q Perform Binary Multiplication & Division on following: 1) 16*2.75 2) 1

What problem does the namespace feature solve, Multiple providers of librar...

Multiple providers of libraries may use common global identifiers causing a name collision when an application tries to link with two or more such libraries. The namespace feature

Instruction pipeline, example of branching take place in instructon pipelin...

example of branching take place in instructon pipeline

Disadvantages of mpi, Disadvantages of MPI  Performance is restric...

Disadvantages of MPI  Performance is restricted by communication network between the nodes It can be harder to debug Needs more programming changes to go from seri

What is static timing, What is Static timing a. Delays over all paths a...

What is Static timing a. Delays over all paths are added up. b. All possibilities, including false paths, verified without the need for test vectors. c. Faster than simul

In java system.out is an object of which type, In Java System.out is an obj...

In Java System.out is an object of type? In Java System.out is an object of form Print Stream.

Truth tables - artificial intelligence, Truth Tables - artificial intellige...

Truth Tables - artificial intelligence: In propositional logic, where we are limited to expressing sentences where propositions are true or false - we can check whether a speci

Application and function areas - artificial intelligence, Application and F...

Application and Function Areas - artificial intelligence: Individual applications and function often drive "AI" research much more than the long term relative field described

Logical user-centered interactive design methodology, Question: Logical...

Question: Logical User-Centered Interactive Design Methodology is a methodology that identifies six clear stages to help in software development while keeping the user in mind.

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