Sponsored Content
Top Forums Shell Programming and Scripting Unix Scripting Question (Homework) Post 302385166 by pitdark on Thursday 7th of January 2010 08:09:27 AM
Old 01-07-2010
Unix Scripting Question (Homework)

Hello im currently taking up Operating Systems and we're on unix ryt now. we have to make a script and here are the requirements.. can someone please help me. I would reli appreciate it.. because i dont reli know how to make scripts yet.

Name of script : parkingcharge.sh
Create a script that computes for the total parking charge of a customer. The following information are to be collected as inputs from the standard input :
Plate number (format : 7 characters, the first 3 are characters from ato z followed by a dash followed by a 3 digit number; i.e. : XXX-123)
Time in (format : military time; i.e. 1500 => 3 PM)
Time out (format : military time; i.e. 1900 => 7 PM)
Type of vehicle : can either be the following characeters: L, U or H which stands for Light vehicle, Utility vehicle or heavy vehicle respectively.
The parking lot operates starting at 7 AM and closes at 11:30 PM. The rates of the parking lot is as follows:
Standard parking fee (minimum of 2 hours) - 50 pesos
Succeeding hour or less in excess of 2 hours for :
Light vehicles - 5 pesos
Utility vehicles - 15 pesos
Heavy vehicles - 25 pesos
Futhermore, the maximum parking charge for the following vehicles applies:
Light vehicles - 100 pesos
Utility vehicles - 150 pesos
Heavy vehicles - 250 pesos
The script should be able to validate whether the time in and time out values are VALID inputs based on the value that is entered (time out > time in). Other validations are not to be filtered by the script. The output of the script is the parking charge of the vehicle and its details.
Sample run:
$ parkingcharge.sh
Please enter the plate number (i.e. : AAE-775) : XNY-123
Please enter the type of vehicle (L/U/H) : U
Please enter the time the vehicle entered the parking lot : 0845
Please enter the time the vehicle entered the parking lot : 1915
The vehicle with plate number XNY-123 was parked for 10 hours and 30 minutes. The parking charge for the vehicle is 150 pesos
Try again? : N
Sample run:
$ parkingcharge.sh
Please enter the plate number (i.e. : AAE-775) : GMA-111
Please enter the type of vehicle (L/U/H) : L
Please enter the time the vehicle entered the parking lot : 1245
Please enter the time the vehicle entered the parking lot : 1315
The vehicle with plate number XNY-123 was parked for 0 hours and 30 minutes. The parking charge for the vehicle is 50 pesos
Try again? : N
Note: Make sure the program keeps on repeating until the user enters ‘N' to quit the program.
Hint : You can use the following commands/control structure to complete your script : expr, if, test, for
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

another scripting question

I am writing a script that will identify the oldest file in a directory. Here's the syntax: #!/bin/ksh cd directory chmod 777 * ls -r -1t > file1 sed -n -e "1P" < file1 > file2 So my problem is, now I have file2, which contains the name of the oldest file in the directory. How do I use,... (1 Reply)
Discussion started by: kristy
1 Replies

2. Shell Programming and Scripting

another scripting question

Hello I am working on cleaning up permissions on Oracle mountpoints and datafiles in unix. I am looking for a script or a scripting idea to 1st. 1. grep for owner oracle 2. ensure its a directory owned for oracle 3. chmod 750 on the oracle owned directory. 4. grep for oracle files, etc... (3 Replies)
Discussion started by: jigarlakhani
3 Replies

3. Shell Programming and Scripting

Scripting question

Folks; I'm writing a shell script to extract some fields out of a log file & it will run periodically, how can i make it runs starting from where it left of. for example; if the script will do the extract every 2 days, let's say the first run will extract fields until July 25, 2007 @ 11:15:22... (1 Reply)
Discussion started by: moe2266
1 Replies

4. UNIX for Dummies Questions & Answers

Scripting question

folks; I have a script to remove any files that older than 14 days then move any files that younger than 7 days to another directory. but for some reason it doesn't move the files, when i do it manually it works but not through the script. i tried 2 different ways in writing the move part but it... (6 Replies)
Discussion started by: Katkota
6 Replies

5. Programming

Homework question

i just need guidance in this please. people who will argue " homeworks are not allowed" , i just need help not solutions . thanks CEG433/CEG633 - Operating Systems please (1 Reply)
Discussion started by: evantheking
1 Replies

6. Homework & Coursework Questions

Homework question

Hi : I cant understand some subjects on DATABASE Class here i'm in small twon i can't find someone to expalin it it to me How can i get good site to find any tutoring throgh the chat or any way i tried to find tutor in the irea but i failed . my question how to understand the... (1 Reply)
Discussion started by: Scotch
1 Replies

7. Homework & Coursework Questions

Perl Scripting issue - homework

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Here is the problem: Lesson 13 OBJ1: OST Class online. Write a script called obj13-1.pl and a library... (2 Replies)
Discussion started by: valhalla
2 Replies

8. UNIX for Dummies Questions & Answers

Question about shell scripting in UNIX

Unix script coding help? i am trying to write a code that will display following menu to user: (A) Add (B) Subtract (C) Multiply (D) Divide (E) Modulus (F) Exponentiation (G) Exit Then ask user for choice (A-F). After taking users choice ask user for two numbers and perform... (0 Replies)
Discussion started by: renegade755
0 Replies

9. Shell Programming and Scripting

Scripting question

hi all, I am writing a script and beginner in shell scripting. I have tried the below script. could you please check and let me know whether the below scirpt is correct. Unix details : HP Unix Input file. cat input.txt | tail -4 HTS40002.W1978.PROM HTS40003.W1978.PROM... (17 Replies)
Discussion started by: arun888
17 Replies

10. UNIX for Beginners Questions & Answers

Scripting Homework, need help

Hi I just started scripting in my Unix class, but can't understand it and have trouble with homework. This is my homework: Dean needs a daily written report of the status of his Unix computer. He wants to obtain certain information about users and processes that are only accessible by executing... (1 Reply)
Discussion started by: arbogastcarl
1 Replies
kstat(1M)                                                 System Administration Commands                                                 kstat(1M)

NAME
kstat - display kernel statistics SYNOPSIS
kstat [-lpq] [-T u | d ] [-c class] [-m module] [-i instance] [-n name] [-s statistic] [interval [count]] kstat [-lpq] [-T u | d ] [-c class] [module:instance:name:statistic...] [interval [count]] DESCRIPTION
The kstat utility examines the available kernel statistics, or kstats, on the system and reports those statistics which match the criteria specified on the command line. Each matching statistic is printed with its module, instance, and name fields, as well as its actual value. Kernel statistics may be published by various kernel subsystems, such as drivers or loadable modules; each kstat has a module field that denotes its publisher. Since each module may have countable entities (such as multiple disks associated with the sd(7D) driver) for which it wishes to report statistics, the kstat also has an instance field to index the statistics for each entity; kstat instances are numbered starting from zero. Finally, the kstat is given a name unique within its module. Each kstat may be a special kstat type, an array of name-value pairs, or raw data. In the name-value case, each reported value is given a label, which we refer to as the statistic. Known raw and special kstats are given statistic labels for each of their values by kstat; thus, all published values can be referenced as module:instance:name:statistic. When invoked without any module operands or options, kstat will match all defined statistics on the system. Example invocations are pro- vided below. All times are displayed as fractional seconds since system boot. OPTIONS
The tests specified by the following options are logically ANDed, and all matching kstats will be selected. A regular expression containing shell metacharacters must be protected from the shell by enclosing it with the appropriate quotes. The argument for the -c, -i, -m, -n, and -s options may be specified as a shell glob pattern, or a Perl regular expression enclosed in '/' characters. -c class Displays only kstats that match the specified class. class is a kernel-defined string which classifies the "type" of the kstat. -i instance Displays only kstats that match the specified instance. -l Lists matching kstat names without displaying values. -m module Displays only kstats that match the specified module. -n name Displays only kstats that match the specified name. -p Displays output in parseable format. All example output in this document is given in this format. If this option is not specified, kstat produces output in a human-readable, table format. -q Displays no output, but return appropriate exit status for matches against given criteria. -s statistic Displays only kstats that match the specified statistic. -T d | u Displays a time stamp before each statistics block, either in ctime(3C) format ('d') or as an alphanumeric representation of the value returned by time(2) ('u'). OPERANDS
The following operands are supported: module:instance:name:statistic Alternate method of specifying module, instance, name, and statistic as described above. Each of the mod- ule, instance, name, or statistic specifiers may be a shell glob pattern or a Perl regular expression enclosed by '/' characters. It is possible to use both specifier types within a single operand. Leaving a specifier empty is equivalent to using the '*' glob pattern for that specifier. interval The number of seconds between reports. count The number of reports to be printed. EXAMPLES
In the following examples, all the command lines in a block produce the same output, as shown immediately below. The exact statistics and values will of course vary from machine to machine. Example 1: Using the kstat Command example$ kstat -p -m unix -i 0 -n system_misc -s 'avenrun*' example$ kstat -p -s 'avenrun*' example$ kstat -p 'unix:0:system_misc:avenrun*' example$ kstat -p ':::avenrun*' example$ kstat -p ':::/^avenrun_d+min$/' unix:0:system_misc:avenrun_15min 3 unix:0:system_misc:avenrun_1min 4 unix:0:system_misc:avenrun_5min 2 Example 2: Using the kstat Command example$ kstat -p -m cpu_stat -s 'intr*' example$ kstat -p cpu_stat:::/^intr/ cpu_stat:0:cpu_stat0:intr 29682330 cpu_stat:0:cpu_stat0:intrblk 87 cpu_stat:0:cpu_stat0:intrthread 15054222 cpu_stat:1:cpu_stat1:intr 426073 cpu_stat:1:cpu_stat1:intrblk 51 cpu_stat:1:cpu_stat1:intrthread 289668 cpu_stat:2:cpu_stat2:intr 134160 cpu_stat:2:cpu_stat2:intrblk 0 cpu_stat:2:cpu_stat2:intrthread 131 cpu_stat:3:cpu_stat3:intr 196566 cpu_stat:3:cpu_stat3:intrblk 30 cpu_stat:3:cpu_stat3:intrthread 59626 Example 3: Using the kstat Command example$ kstat -p :::state ':::avenrun*' example$ kstat -p :::state :::/^avenrun/ cpu_info:0:cpu_info0:state on-line cpu_info:1:cpu_info1:state on-line cpu_info:2:cpu_info2:state on-line cpu_info:3:cpu_info3:state on-line unix:0:system_misc:avenrun_15min 4 unix:0:system_misc:avenrun_1min 10 unix:0:system_misc:avenrun_5min 3 Example 4: Using the kstat Command example$ kstat -p 'unix:0:system_misc:avenrun*' 1 3 unix:0:system_misc:avenrun_15min 15 unix:0:system_misc:avenrun_1min 11 unix:0:system_misc:avenrun_5min 21 unix:0:system_misc:avenrun_15min 15 unix:0:system_misc:avenrun_1min 11 unix:0:system_misc:avenrun_5min 21 unix:0:system_misc:avenrun_15min 15 unix:0:system_misc:avenrun_1min 11 unix:0:system_misc:avenrun_5min 21 Example 5: Using the kstat Command example$ kstat -p -T d 'unix:0:system_misc:avenrun*' 5 2 Thu Jul 22 19:39:50 1999 unix:0:system_misc:avenrun_15min 12 unix:0:system_misc:avenrun_1min 0 unix:0:system_misc:avenrun_5min 11 Thu Jul 22 19:39:55 1999 unix:0:system_misc:avenrun_15min 12 unix:0:system_misc:avenrun_1min 0 unix:0:system_misc:avenrun_5min 11 Example 6: Using the kstat Command example$ kstat -p -T u 'unix:0:system_misc:avenrun*' 932668656 unix:0:system_misc:avenrun_15min 14 unix:0:system_misc:avenrun_1min 5 unix:0:system_misc:avenrun_5min 18 EXIT STATUS
The following exit values are returned: 0 One or more statistics were matched. 1 No statistics were matched. 2 Invalid command line options were specified. 3 A fatal error occurred. FILES
/dev/kstat kernel statistics driver ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ |ATTRIBUTE TYPE |ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
sh(1), time(2), ctime(3C)gmatch(3GEN), kstat(3KSTAT), attributes(5), kstat(7D), sd(7D), kstat(9S) NOTES
If the pattern argument contains glob or Perl RE metacharacters which are also shell metacharacters, it will be necessary to enclose the pattern with appropriate shell quotes. SunOS 5.10 14 Oct 2004 kstat(1M)
All times are GMT -4. The time now is 02:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy