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

Combining goals and design principles, The Set Book assignment should enabl...

The Set Book assignment should enable you to begin talking about the usability of interactive products in terms of a variety of parameters. Instead of simply saying 'nice cell phon

Scientific knowledge, Scientific knowledge: This is not to be confused...

Scientific knowledge: This is not to be confused with the applications of "AI" programs to other sciences, discussed later. Its subfields can be classified into a variety of t

What is a pointer, What is a pointer? The register or memory location t...

What is a pointer? The register or memory location that having the address of an operand is known as a pointer.

Observed speedup and parallel overhead, Observed Speedup Observed speed...

Observed Speedup Observed speedup of a system which has been parallelized, is defined as:                             Granularity is one of the easiest and most extensi

What is a virtual address, Q. What is a virtual address? Von Neumann ha...

Q. What is a virtual address? Von Neumann had suggested that execution of a program is possible only if program and data are residing in memory. In such a condition program len

How can we pass selection and parameter data to a report, How can we pass s...

How can we pass selection and parameter data to a report? There are three options for passing selection and parameter data to the report. Using SUBMIT...WITH Using a rep

Different elements of a collaboration diagram, ? Object: The interaction am...

? Object: The interaction among objects takes place in a system. An object is depicted by a rectangle with the name of the object, preceded by a colon and underline. ? Relation

Can we run dot.net in unix platform, Can we run DOT.NET in UNIX platform? ...

Can we run DOT.NET in UNIX platform? One of the drawbacks of using Visual Studio.NET and the .NET framework to develop applications has been the lack of cross-platform support

What is a binary tree, What is a binary tree? A binary tree 'T' is desc...

What is a binary tree? A binary tree 'T' is described as A finite set of elements, known as nodes, such that: either (i) or (ii) happens: (i) T is empty (known as the 'nu

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