User Tools

Site Tools


haas:spring2016:unix:projects:gfo0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:spring2016:unix:projects:gfo0 [2016/04/12 12:42] – [The script] wedgehaas:spring2016:unix:projects:gfo0 [2016/04/12 13:27] (current) – [Useful tools] wedge
Line 50: Line 50:
 <code> <code>
     [UNIX] 019 021 026 028 033 035 040 042 054 056 061 063 068 070 075 077 082 084 096 098      [UNIX] 019 021 026 028 033 035 040 042 054 056 061 063 068 070 075 077 082 084 096 098 
-[dburns12] 019 021 026 033 035 040 042 054 063 068 070 075 077 084 096 098+[username] 019 021 026 033 035 040 042 054 063 068 070 075 077 084 096 098
 </code> </code>
  
Line 152: Line 152:
 lab46:~/src/unix/gfo0$ ./mygrade.sh lab46:~/src/unix/gfo0$ ./mygrade.sh
 =============================================================================== ===============================================================================
-UNIX      uxi0 pbx0 cus0 pbx1 arc0 wpa0 udr0 sfp0 bns prjct+attnd+jrnal= result+UNIX      uxi0 pbx0 cus0 pbx1 arc0 wpa0 udr0 sfp0 bns prjct+ptcpn+jrnal= result
 =============================================================================== ===============================================================================
 username: 100  86   91   79   99      0    83     23/36+28/28+31/36= 82/100 username: 100  86   91   79   99      0    83     23/36+28/28+31/36= 82/100
Line 161: Line 161:
 NOTE that in the above, "username" should actually display YOUR USERNAME. NOTE that in the above, "username" should actually display YOUR USERNAME.
  
 +And note that the actual scores are left justified underneath the column heading listing the project name.
 ====Bonus==== ====Bonus====
 As a bonus opportunity, I offer you the following: As a bonus opportunity, I offer you the following:
Line 168: Line 169:
 I will consider for bonus points the implementation of a "check" argument, which if provided on your script's command-line, will perform necessary tallys and sanity checks (for example, if a project is out of 39 points, do all your values check out; similarly, do all the line-by-line point items add up to the reported total you have?), and nicely displays any inconsistencies (so that you can report them to me for potential correction). I will consider for bonus points the implementation of a "check" argument, which if provided on your script's command-line, will perform necessary tallys and sanity checks (for example, if a project is out of 39 points, do all your values check out; similarly, do all the line-by-line point items add up to the reported total you have?), and nicely displays any inconsistencies (so that you can report them to me for potential correction).
  
 +=====Useful tools=====
 +By no means an exhaustive nor implied list, you may want to ensure familiarity with the following tools/concepts when performing this project:
 +
 +  * cat(1)
 +  * bc(1)
 +  * printf(1)
 +  * echo(1)
 +  * grep(1)
 +  * head(1)
 +  * tail(1)
 +  * sed(1)
 +  * cut(1)
 +  * tr(1)
 +  * wc(1)
 +  * I/O redirection (found in bash(1))
 +  * variables/variable expansion (found in bash(1))
 +  * command expansion (found in bash(1))
 +  * selection structures and evaluation facilities
 +    * if statements (found in bash(1))
 +    * <nowiki>[</nowiki>(1)
 +  * loops (found in bash(1))
 +  * arrays (found in bash(1))
 +
 +Often times related and potentially useful commands you may want to know about can be found in the "SEE ALSO" section near the bottom of many manual pages.
 +
 +There are some sample scripts available for viewing in the **scripts/** subdirectory of the class public directory.
 +
 +====bash debugging====
 +If you add a **-x** argument to bash (in the shabang, or on the command-line if running your script that way), it will be immensely more verbose, reporting more precisely on its actions. This can prove most useful when trying to figure out various problems, be it syntax errors in your script or spurious logic errors.
 =====Submission===== =====Submission=====
 Successful completion will result in the following criteria being met: Successful completion will result in the following criteria being met:
Line 175: Line 205:
     * should be an organized presentation of the requested information as specified above.     * should be an organized presentation of the requested information as specified above.
       * spacing is important. I want to see column justification just like in my examples above.       * spacing is important. I want to see column justification just like in my examples above.
-    * utilizes shell logic prodominantly (for those who can, do not write a C program that does it all; that doesn't mean you cannot write small programs to assist with pieces of the process though)+    * is functional, displaying no errors of any kind. 
 +    * utilizes shell logic prodominantly 
 +      * for those who can, do **not** write a C program that does it all; that doesn't mean you cannot write small programs to assist with pieces of the process though 
 +      * use the various pattern matchers, filters, and text manipulation tools we've been playing with all semester (as well as new ones you find as you look for ways of performing this task).
     * is WELL and CONSISTENTLY COMMENTED.     * is WELL and CONSISTENTLY COMMENTED.
       * and I don't just want to see "this is an if statement"-style comments. I want to see explanations of why you are doing things, especially the central processes.       * and I don't just want to see "this is an if statement"-style comments. I want to see explanations of why you are doing things, especially the central processes.
haas/spring2016/unix/projects/gfo0.1460464926.txt.gz · Last modified: 2016/04/12 12:42 by wedge