Break keys, Computer Engineering

Assignment Help:

Like a normal read, your input should break on the new line character "\n"  and also on the up and down arrow keys. You will process the input made by the user when he/she enters new line.

History

Your shell must keep a history of the last 10 commands executed. When the user presses the up key the current input should show the last command executed (as the user typed it). So if the user executed the "ls" command, then pressed the up key, then pressed enter, the ls command should be executed. When the user presses up multiple times, you should replace the input with the next previous command. Until you reach the end of the history list (max of 10). If the user presses up and reaches the end of the list, the next time up is pressed nothing should happen. Conversely when the down arrow is pressed you should cycle through the history in the other direction. So if

the user presses down without pressing up, nothing should happen. That is because you will be at the bottom of the list. After a command is executed it should be added to the list and the index of where the user is in the history should be reset. This functionality should be similar to how the Bash shell works.


Related Discussions:- Break keys

Write-allocate and no-write-allocate policy in a cache, (a) How does a da...

(a) How does a data cache take advantage of spatial locality? Give an suitable example. (b) What are the basic differences between a write-allocate and no-write-allocate po

Difference between the testing and verification, Difference between the tes...

Difference between the testing and verification. Verification proves conformance with a specification. Testing tries to find cases where the system does not meet its specifi

Register-to-register architecture, Register-to-Register Architecture : In t...

Register-to-Register Architecture : In this organization, results and operands are accessed not directly from the main memory by the scalar or vector registers. The vectors which a

# real life business subsystem, Is production, marketing, personal, materia...

Is production, marketing, personal, material, finance are the real life business subsystems? if yes, then how?

What is the difference among a canvas and a scroll panel, Canvas is a compo...

Canvas is a component. ScrollPanel is a container. Canvas is a rectangular area where the application can draw or trap input events. ScrollPane executes horizontal and vertical scr

Explain handle graphics in matlab, This is the MATLAB graphics system. It c...

This is the MATLAB graphics system. It contains high-level commands for two-dimensional and three-dimensional data visualization, image processing, animation, and presentation grap

Big – endian and little- endian representations, Explain Big - Endian and L...

Explain Big - Endian and Little- Endian representations Ans: The Big- endian is used where lower byte addresses are used for the more significant bytes (leftmost bytes) of the

is risc always fast, It is fast because it has got separate program and da...

It is fast because it has got separate program and data memory(highly pipelined architecture)

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

What is paging unit, Paging Unit Paging mechanism functions with 4K -...

Paging Unit Paging mechanism functions with 4K - byte memory pages or with a new extension available to Pentium with 4M byte-memory pages. In the Pentium, with the new 4M-byt

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