% CST8207 Week 13 Notes -- Shell Scripts: shift, read, functions, &&, \|\|, errors 1>&2, script problems % Ian! D. Allen -- -- [www.idallen.com] % Winter 2019 - January to April 2019 - Updated 2019-04-11 17:44 EDT - [Course Home Page] - [Course Outline] - [All Weeks] - [Plain Text] Thank You ========= [Certificate of Recognition PDF] !!!   S T O P    T H E    R U M O U R S   !!! ============================================= **Do not believe anything anyone tells you about the Final Exam.** **Read All The Words!** *If you cannot read the words, come to any lab and I will read them to you.* C O U R S E    E V A L U A T I O N ================================== ____ _ ____ __ __ | _ \ | | ___ __ _ ___ ___ | _ \ ___ \ \ / /___ _ _ _ __ | |_) || | / _ \ / _` |/ __| / _ \ | | | | / _ \ \ V // _ \ | | | || '__| | __/ | || __/| (_| |\__ \| __/ | |_| || (_) | | || (_) || |_| || | |_| |_| \___| \__,_||___/ \___| |____/ \___/ |_| \___/ \__,_||_| ____ ____ _____ _____ _ _ _ / ___/ ___|_ _| | ____|_ ____ _| |_ _ __ _| |_(_) ___ _ __ | | \___ \ | | | _| \ \ / / _` | | | | |/ _` | __| |/ _ \| '_ \ | |___ ___) || | | |___ \ V / (_| | | |_| | (_| | |_| | (_) | | | | \____|____/ |_| |_____| \_/ \__,_|_|\__,_|\__,_|\__|_|\___/|_| |_| -    **Closes Sunday April 28.** - Feedback is anonymous. Professors are not told who said what and results are not released until after grades have been submitted. - I publish my [anonymous course evaluations], so your comments will be there to guide future students. - Listen to Dogbert on [satisfaction surveys] - The Checking Program for your assignments tells you how to turn off the nag message. Read All The Words. Readings, Assignments, Labs, Tests, and ToDo ============================================ Read (at least) these things (All The Words) -------------------------------------------- 1. [Week 13 Notes HTML] -- this file -- **Read All The Words** 2. [Shell Control Structures] -- if, then, else, test, `[...]`, for, while, case, break, continue, read, functions, &&, \|\|, errors 1>&2 - We continue in the notes with `shift`, etc. 3. [Good Error Messages] -- Error and Usage messages: $0, $#, $*, and 1>&2 4. [Shell Script Problems] -- arithmetic, syntax, test, boolean, etc. 5. [List of Commands] -- Command names you should know, listed by week 6. [Video Tutorials on Lynda.com] -- tagged by week number 7. [Linux and Sysadmin News in the World] Assignments, Quizzes, and Lab work this week -------------------------------------------- > **Reminder:** There are now three quizzes that you need to complete (five > times each) on Brightspace as part of your term Quiz mark. The third quiz > has be posted. The Quizzes are *not* optional; see the [Course Outline]. > You need to do each quiz at least five times. Check the due date for each assignment and put a reminder in your agenda, calendar, and digital assistant. Just like in the Real World, not all due dates are on the same days or at the same times. - Review last week. Did you do everything assigned last week? - [Assignment #12 HTML] -- Shell Script Parameters and Control Flow - The checking program has a feature to check just one of your scripts. - OPTIONAL: Do Bonus [Assignment #10 HTML] to improve your Midterm #2 score. - This affects only your Midterm #2 score, not your Assignment score. - There is a checking program available to check your file format for this bonus assignment, but only people who Read All These Words will know about it. Wrong file format means no marks. *Do not redirect or save the output of this checking program!* Upcoming tests and exams ------------------------ This course had two midterm tests (10%, 15%) and will have one final exam (40%). ![Bring your favourite marker to your exam] Follow this link to see all your upcoming [Quizzes, Tests, Final Exam]. The dates are also posted on the [Course Home Page] and on [Brightspace CST8207]. For full marks, read the [Test Instructions] web page (all the words) **before** your tests. 1. First Midterm test: Done. 2. Second Midterm test: Done. 3. Final Exam: The date is now posted on ACSIS: Tuesday April 23 from 1pm to 4pm in T119. Academic Honesty Declaration ============================ There is no group work in this course. Because of the large number of students who shared, copied, and worked together on scripts in previous terms and who were all charged with Academic Dishonesty during Exam Week, you must now declare that you are the sole author of your scripts. You must write all your own scripts. You must type the text from the [Academic Honesty Declaration] into the end (bottom) of every script you write in this course. See [Assignment #12 HTML] for the details. If any of your scripts is found to have text in common with any other people, you will be charged with Academic Dishonesty ([AA18]) or Plagiarism ([AA20]) in the middle of your Exam Week, and your course marks may be delayed and downgraded. An Academic Discipline hearing is highly disruptive to your Exam Week. Do your own assignments; do not share, work together, or copy from another student or from the Internet. Do not help students fail my course ----------------------------------- Students who give answers (e.g. command lines) to other students are helping those other students fail my course. Stop doing that. I want *everyone* to pass my course. Notes from the Classroom ======================== - **Take notes in class!** Keep a pad open on your desk. - Bring your notes to class! Stop wasting time looking up commands. - Look at the [Practice Tests and Answers] related to the Final Exam. You can bring your questions to your lab periods and your instructor will go over them with you. - Check your EMail, especially when creating CRON jobs. One student had generated over 2,600 email messages (one per minute) using a CRON job that failed. (I deleted the job.) - Don't forget to finish your five Brightspace quiz attempts for each of the Midterm 1 and Midterm 2 quizzes. There is a third quiz available to prepare for the Final Exam. Do at least five attempts in all three quizzes. - Nobody should have any files larger than 1MB in their CLS account. If you have uploaded an image that is larger than 1MB, you should make it smaller using the `convert` command directions given in the [Student Web Site] page from [Assignment #09]. - "The Bash Academy is an initiative to promote the bash shell language and educate people on its use." - Regarding world-writable files in your account: See last week's notes. Commands Used ------------- > Keep a notebook with a [List of Commands] in it. > > - You need to write down yourself what each command *does*. > - Check the updated list of commands each week. > - I will check for this list in your lab periods. > - Bring your notes to class! Stop wasting time looking up commands. - Are you making notes from the worksheets on how each command works? - What do the options used in the worksheets mean, for each command? - Don't copy and use options that you don't understand! - Regarding world-writable files in your account: See last week's notes. Your own personal web page on the CLS ===================================== View [all the Winter 19W class images] ![Take Notes in Class] -- | Ian! D. Allen, BA, MMath - idallen@idallen.ca - Ottawa, Ontario, Canada | Home Page: http://idallen.com/ Contact Improv: http://contactimprov.ca/ | College professor (Free/Libre GNU+Linux) at: http://teaching.idallen.com/ | Defend digital freedom: http://eff.org/ and have fun: http://fools.ca/ [Plain Text] - plain text version of this page in [Pandoc Markdown] format [www.idallen.com]: http://www.idallen.com/ [Course Home Page]: .. [Course Outline]: course_outline.pdf [All Weeks]: indexcgi.cgi [Plain Text]: week13notes.txt [Certificate of Recognition PDF]: ian_certificate_of_recognition.pdf [anonymous course evaluations]: /#coursenotes [satisfaction surveys]: http://dilbert.com/strips/comic/2005-04-07/ [Week 13 Notes HTML]: week13notes.html [Shell Control Structures]: 730_control_statements.html [Good Error Messages]: 735_good_error_messages.html [Shell Script Problems]: 740_script_problems.html [List of Commands]: 900_unix_command_list.html [Video Tutorials on Lynda.com]: 910_lynda_index.html [Linux and Sysadmin News in the World]: 950_linux_world.html [Assignment #12 HTML]: assignment12.html [Assignment #10 HTML]: assignment10.html [Bring your favourite marker to your exam]: data/sniff_markers.jpg "Bring your favourite marker to your exam" [Quizzes, Tests, Final Exam]: 000_quizzes_and_tests.html [Brightspace CST8207]: https://brightspace.algonquincollege.com/d2l/home/117776 [Test Instructions]: 000_test_instructions.html [Academic Honesty Declaration]: academic_honesty.png [AA18]: http://www.algonquincollege.com/policies/policy/academic-discipline/ [AA20]: http://www.algonquincollege.com/policies/policy/plagiarism/ [Practice Tests and Answers]: 000_practice_tests.html [Student Web Site]: 000_student_web_site.html [Assignment #09]: assignment09.html [all the Winter 19W class images]: http://cst8207.idallen.ca/montage19w.cgi [Take Notes in Class]: data/remember.jpg "Take Notes in Class" [Pandoc Markdown]: http://johnmacfarlane.net/pandoc/