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

Propositional logic, Propositional Logic: This is a fairly restrictive...

Propositional Logic: This is a fairly restrictive logic, that allows us to be write sentences about ¬propositions - statements about the world - that can either be true or

What is c++ reference and java final, What is C++ reference and JAVA final?...

What is C++ reference and JAVA final? Association ends must be bound at initialization and cannot be altered. C++ references can fully enforce these semantics, and the JAVA fin

Importance of using module-instance parameter, Using Module-Instance Parame...

Using Module-Instance Parameter: Parameter values can be overridden while a module is instantiated. New parameter values are passed at the time of module instantiation. Top-

Difference between absolute and relative path, What is the difference betwe...

What is the difference between absolute and relative path name of a file? Absolute path name: This is listing of the directories and files from the root directory to the i

Calculate the shortest distance using minimum spanning tree, Does the minim...

Does the minimum spanning tree of a graph give the shortest distance between any 2 specified nodes? No. The Minimal spanning tree makes sure that the total weight of the tree i

What is the difference between swapping and paging, What is the difference ...

What is the difference between Swapping and Paging? Swapping: Entire process is moved from the swap device to the major memory for implementation. Process size must be less t

Convert the binary number to gray code, Convert the binary number 10110 to ...

Convert the binary number 10110 to Gray code ? Ans. For changing binary number 10110 in its equivalent Gray code the rules are as, the left most bit that is MSB in Gray code is 1

State about the object models, State about the Object models Object mo...

State about the Object models Object models are used for explaining the objects in the system and their connection with each other in the system. The dynamic model explains in

Define relocation bits utilized by relocating loader, Relocation bits used ...

Relocation bits used by relocating loader are specified by? Ans. Relocation bits utilized by relocating loader are identified by Assembler or Translator.

Which instruction is use in each process before proceeding, Before proceedi...

Before proceeding with its execution, each process must acquire all the resources it needs is called ? Ans. Hold and Wait is requires in each process should acquire all the res

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