A command-line parser to figure out what the user is trying

Assignment Help Computer Engineering
Reference no: EM132213383

Write a shell in C/C++

Prefer this to be written in C++**

Your shell should use the fork system call and the execv system call (or one of its variants) to execute commands. The shell needs to use either wait or waitpid system calls to wait for a program to complete execution.

You should recognize the command exit to mean that your shell program should terminate by calling the exit() system call.

A very simple shell such as this needs at least the following components:

a command-line parser to figure out what the user is trying to do.

If a valid command has been entered, the shell should use fork to create a new child process, and the child process should exec the command.

Your shell will need to support file redirection. Use the same syntax as defined in the Bash shell: a single '>' implies that one needs to redirect the standard output of the program being started to the referenced file while a single '<' implies the same with standard input.

The double '>>' implies that standard output will append to an existing file rather than create a new file (similar behavior is required for the '<<' operator and standard input). You do not need to implement support for the Bash pipeline operator '|'.

Before calling exec to begin execution, the child process may have to close stdin (file desriptor 0) and/or stdout (file descriptor 0), open the corresponding file and use the dup2 system call to make it the appropriate file descriptor. Don't forget to use the close system call to close the old file descriptor.

Reference no: EM132213383

Questions Cloud

Write a short c program along with a design tool : You are to write a short C program along with a design tool that will load an array with values, then search for a value using a linear search.
Create an if statement that is unconditionally true : Test whether variable x is even (An even number is an integer that is exactly divisible by 2) .if it is , increment x.
Take all the lines input to standard input and writes them : Write a short C++ program that takes all the lines input to standard input and writes them to standard output in reverse order.
Write a simple tcp program for a client that reads a line : Write a simple TCP program for a client that reads a line of text from its standard input (keyboard) and sends the line out its socket to the server.
A command-line parser to figure out what the user is trying : Your shell should use the fork system call and the execv system call (or one of its variants) to execute commands.
Write a short program that simulates rock or scissors : Use the Random class to create a random number generator, which the hand class will use, each game should be determined by the random number generator.
Prompt the user for some information about a car trip : Write a simple C++ program that prompts the user for some information about a car trip and then calculates some values based on what's entered.
Write a script to create the following directory structure : Write a script to create the following directory structure in a directory of user's choice.
Write a script for gaussian elimination : Write a script for Gaussian elimination. The user should input the A matrix and the B matrix.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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