Question

Hello all, I have a c++/unix (bash) question. I am struggling on starting this assignment. If...



Hello all, I have a c++/unix (bash) question. I am struggling on starting this assignment. If you could start the assignment and tell me how to do the rest it would be greatly appreciated!

(Quick thumbs up answer response if thorough and correct)

Maintain automobile records in a database Write a shell script to create, view and modify a simple database that contains automobile records. The shell script has to be done in Bourne shell syntax (bash as a matter of fact). You may use all features of bash and any Unix command. The name of your script is 500 and ".db". For example, your script must be called "500.db". The first parameter is always the database being queried. The second parameter is always the command that will be executed. Any parameters that follow are specific to the command that was issued.

The general syntax of script invocation is: 500.db dbname command param1 ... paramN where: dbname is the name of the file that contains the database records commandis one of: new, add, show or delete param1... paramNare parameters to the specified command Description of commands and parameters new "title text" creates a new database with name dbname. The text following the new command will become the first line in the database file. If no text is given, the default is "Automobile Database". An error occurs if the database already exists. Upon success, the new command reports "New database created". add make model year color adds a new record to the database. 4 parameters must be listed in this order: make, model, year, color. The year must be a 4 digit number greater than 1870 and smaller than 2020. The other parameters are strings.

Upon success, the add command reports "Successfully added a record to the database". show all show single number show range number1 number2 allows the user to view all records, just a single record or a range of records in the database. To show a single record the record number is specified after the keyword "single". To show a range of records the 2 numbers after the keyword "range" indicate the start and the end of the range, they are inclusive. The second number must be larger than the first. The output of the show command lists records in the database. The first line of output always is the title text from the database. Then follow the lines for the requested entries in the database, either all, a single line, or a range

. An example "show all" output looks like this: Automobile Database Ford, Mustang, 2008, blue with white stripes Mitsubishi, Lancer, 2009, white Toyota, Camry LE, 2004, black Porsche, Cayenne S, 2007, red An example "show range 2 3" output looks like this: Automobile Database Mitsubishi, Lancer, 2009, white Toyota, Camry LE, 2004, black delete all delete single number delete range number1 number2 allows the user to delete records: either all, just a single record or a range of records. To delete a single record the record number is specified after the keyword "single". To delete a range of records the 2 numbers after the keyword "range" indicate the start and the end of the range, they are inclusive. The second number must be larger than the first. The delete command reports the number of lines deleted, such as "Successfully deleted 4 records from the database". Note that the title line in the database is never deleted. Error checking If an an error occurs, print an error message and exit the script. Specifically your script should: ensure that the command is spelled correctly ensure that all required parameters to the appropriate command are present ensure that line numbers fall within the lines present in the database file ensure that the database file exists and is readable, and in the case of "add" and "delete" also writable if the file is empty (ie. no records), your script should print out a message that no records are found Database file format The first line in the database file contains the title text specified in the "new" command. The remaining lines specify automobile entries with fields that are separated by ", ". For example, the database file for the above "show all" command would contain: Automobile Database Ford, Mustang, 2008, blue with white stripes Mitsubishi, Lancer, 2009, white Toyota, Camry LE, 2004, black Porsche, Cayenne S, 2007, red

Example run % ./500.db DB new "Example for Assignment" New database created % ./500.db DB add Ford Mustang 2008 "blue with white stripes" Successfully added a record to the database % ./500.db DB add Mitsubishi Lancer 2009 white Successfully added a record to the database % ./500.db DB add Toyota "Camry LE" 2004 black Successfully added a record to the database % ./500.db DB add Porsche "Cayenne S" 2007 red Successfully added a record to the database % ./500.db DB show all Example for Assignment Ford, Mustang, 2008, blue with white stripes Mitsubishi, Lancer, 2009, white Toyota, Camry LE, 2004, black Porsche, Cayenne S, 2007, red % ./500.db DB delete single 2 1 record deleted % ./500.db DB show all Example for Assignment Ford, Mustang, 2008, blue with white stripes Toyota, Camry LE, 2004, black Porsche, Cayenne S, 2007, red % cat DB Example for Assignment Ford, Mustang, 2008, blue with white stripes Toyota, Camry LE, 2004, black Porsche, Cayenne S, 2007, red %

Additional notes: Be sure to test your script thoroughly. Your file must use /bin/bash in its shebang line. Make sure your script does not leave any temporary files behind. Make sure that your shell script file is a regular Unix text file. Don't modify your file on Windows using notepad, it will add extra ^M characters at the end of each line.


0 0
Add a comment Improve this question Transcribed image text
Answer #1

echo datahase abready elbe checks ven cal AND then wulis to alaJa 忄[12 ,.aw. ] ey [$5-gt 1870 -a $5-lt 2020 echo $3,4, $5, 46cat $1 else eztt hera ebse ·ト laat sed mmand

Add a comment
Know the answer?
Add Answer to:
Hello all, I have a c++/unix (bash) question. I am struggling on starting this assignment. If...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT