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

What is artificial intelligence neural networks, For the sake of trying to ...

For the sake of trying to make intelligent behavior though really all that's being done is work with artificial neural networks where every cell is a very easy processor and the go

What is function overloading, a. Describe function declaration, function de...

a. Describe function declaration, function definition and function cell using a suitable example. Explain the function prototype? b. What is function overloading? When do we use

Explain working of counters, Q. Explain working of Counters? A counter ...

Q. Explain working of Counters? A counter is a register that goes through a predetermined sequence of states when clock pulse is applied. In principle value of counters is incr

Procedure which divides a 32-bit number by a 16-bit number, Write a procedu...

Write a procedure which divides a 32-bit number by a 16-bit number. The procedure must be general which is it's defined in one module and can be called from another assembly module

Prove, state and prove distributive law?

state and prove distributive law?

Define the difference between static ram and dynamic ram, Define the differ...

Define the difference between static RAM and dynamic RAM? The RAM family comprises two important memory devices that are static RAM (SRAM) and dynamic RAM (DRAM). The main diff

Why object oriented development not only allows reuse, Why object oriented ...

Why object oriented development not only allows reuse In a wider way we can say that object oriented development not only allows reuse and information sharing within an applica

How does output caching work in asp.net, How does output caching work in AS...

How does output caching work in ASP.NET?    Output caching is a powerful method that enhances request/response throughput by caching the content generated from dynamic pages. O

What is small computer systems interface, Q. What is Small Computer Systems...

Q. What is Small Computer Systems Interface? The other well-liked way is to connect a disk drive to a PC by a SCSI interface. Common drive choice for high-end workstations or s

Write a program to echo the string, Write a program to echo the string 'Hel...

Write a program to echo the string 'Hello' to the serial channel (SCI) using the protocol of baud rate 9600,8 bits , no parity and 1 stop bit  Consider the baud register as show

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