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

Why io devices cannot be connected to the system bus, Why IO devices cannot...

Why IO devices cannot be directly be connected to the system bus? The IO devices cannot be directly linked to the system bus because i.  The data transfer rate of IO device

Show the conditional jump in program with example, Q. Show the conditional ...

Q. Show the conditional jump in program? CMP    AX, BX                      ; compare instruction: sets flags JNE     FIX                             ; if not equal do addi

What is computer to computer communication, Computer to computer communicat...

Computer to computer communication is: (A)  Simplex                                   (B)  Duplex (C)  Half Duplex                             (D)  Both Duplex and Half D

What are attributes, What are Attributes?  Attributes are declarative ...

What are Attributes?  Attributes are declarative tags in code that insert additional metadata into an assembly. There exist two types of attributes in the .NET Framework: Pred

Grounding a variable - first-order logic, Grounding a variable - first-orde...

Grounding a variable - first-order logic: The perform of making ourselves clear about a variable by introducing an exists or a forall sign is called quantifying the variable.

Time slice, The Linux Process Scheduler uses time slice to prevent a single...

The Linux Process Scheduler uses time slice to prevent a single process from using the CPU for too long. A time slice specifies how long the process can use the CPU. In our simulat

Show the mips addressing modes, Q. Show the MIPS Addressing Modes? MIP...

Q. Show the MIPS Addressing Modes? MIPS Addressing Modes MIPS employs various addressing modes: 1. Uses Register as well asimmediate addressing modes for operations.

Define about classes of object oriented modelling, Define about classes of ...

Define about classes of object oriented modelling A class is a collection of things, or concepts that have the same properties. Each of these concepts or things is known an obj

Java, what is java?

what is java?

Dynamic programming, The fi rst task will involve doing a little background...

The fi rst task will involve doing a little background reading on Dynamic Programming to get up to speed. The second task is to write the code: Search Space Write a function whi

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