% CST8207 Week 11 Notes -- introduction to shell scripting, command substitution, shell integer arithmetic, exit status, script debugging % Ian! D. Allen -- -- [www.idallen.com] % Fall 2017 - September to December 2017 - Updated 2017-12-20 12:37 EST - [Course Home Page] - [Course Outline] - [All Weeks] - [Plain Text] Readings, Assignments, Labs, Tests, and ToDo ============================================ Read (at least) these things (All The Words) -------------------------------------------- 1. [Week 11 Notes HTML] -- this file -- **Read All The Words** 2. [Basic Shell Scripts] -- lists of commands, executable scripts, script header, command arguments and positional parameters, `$0`, `$1`, `$*`, `$@`, `$#`, `shift` 3. [Shell command substitution] -- interpolate stdout into a command line using `$(...)` or `` `...` `` 4. [Shell integer arithmetic] -- integer arithmetic using `expr`, `let` and `$((...))` 5. [Command exit status] -- variable `$?` 6. [Shell Script Debugging] -- using options `-v` and `-x` 7. [List of Commands You Should Know] -- this file contains all the command names used in this course - This file is now complete. You know how to use all the commands. 8. [Video Tutorials on Lynda.com] -- tagged by week number 9. [Linux and Sysadmin News in the World] Assignments and lab work this week ---------------------------------- 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 #09 HTML] is back with a new due date! See the Blackboard course announcements. - [Assignment #11 HTML] -- the last assignment this term -- tar, processes, syslog, crontab, at, mail, shell script - OPTIONAL: Do Bonus [Assignment #10 HTML] about Midterm #2 - 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 the output of this checking program!* Upcoming tests and exams ------------------------ This course has two midterm tests (10%, 15%) and one final exam (40%). ![Bring your favourite marker to your test] - Put these dates below into your phone! - Read the [Test Instructions] (all the words) before your tests and exam. - Use the [Algonquin Registered Name Game] link in the [Test Instructions] to confirm the spelling of your name before the test. - I don't answer questions about the instructions during the test. Ask me in a lab period before the test. - You must write the test in the lecture class in which you are registered. ### The Final Exam -- January 8 or 9 2018 -- 40% The Final Exam is 110 minutes long and contains approximately 110 multiple-choice questions similar to those found in the three preceding [Practice Tests and Answers]. Do *all three* practice tests before the Final Exam! - Time: in your scheduled two-hour lecture class (not in your lab period) on Monday (Sections 010 and 030) or Tuesday (Section 020) in Week 13 (January 8 or 9 2018). - 110 minutes (less than two hours) for 110 questions - Do *all three* practice tests before the Final Exam! - General seating; sit anywhere. - Almost Two Hours! Take a bathroom break before you start the exam! All three practice tests are now posted under [Practice Tests and Answers]. The Final Exam is comprehensive of the whole course; you need to know how to do *all three* practice tests for the Final Exam. There is now a third quiz available to prepare for the Final Exam. The Final Exam is comprehensive of the whole course; you need to know how to do *all three* quiz sets for the Final Exam. Notes from the Classroom ======================== - **Take notes in class!** Keep a pad open on your desk. - Try the `pstree` and `top` commands. - In class I will show you how to decode the Mystery Puzzle File that is part of the upcoming [Assignment #11 HTML]. Take notes! - Don't forget to finish your five Blackboard 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 five attempts in all three quizzes. - Regarding world-writable files in your account: - Outside of the one directory in [Assignment #09][Assignment #09 HTML], you must not have any world-writable (writable by "other") files or directories in your account. - The checking program will deduct marks if it finds world-writable files. - You can find world-writable files by re-reading the "Examples of uses" in [Finding Files] from the Week 3 notes. Commands Used ------------- - Keep a notebook with a [List of Commands][List of Commands You Should Know] 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. Your own web page ================= View [all the Fall 17F class images] Tutoring ======== Many students find that hiring a personal tutor helps them get through the first term. Financial assistance is available. See the **Tutoring** heading in the [Course Introduction]. Attacks on the CLS ================== You are not paranoid if they really are out to get you! See the [Week 03 Notes HTML] for command pipelines to count the SSH attacks on the CLS. ![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]: week11notes.txt [Week 11 Notes HTML]: week11notes.html [Basic Shell Scripts]: 700_shell_scripts.html [Shell command substitution]: 710_command_substitution.html [Shell integer arithmetic]: 715_shell_arithmetic.html [Command exit status]: 720_exit_status.html [Shell Script Debugging]: 725_debugging_shell_scripts.html [List of Commands You Should Know]: 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 #09 HTML]: assignment09.html [Assignment #11 HTML]: assignment11.html [Assignment #10 HTML]: assignment10.html [Bring your favourite marker to your test]: data/sniff_markers.jpg "Bring your favourite marker to your test" [Test Instructions]: 000_test_instructions.html [Algonquin Registered Name Game]: http://cst8207.idallen.ca/~idallen/namegame.cgi [Practice Tests and Answers]: PRACTICE_TEST_README.html [Finding Files]: 180_finding_files.html [all the Fall 17F class images]: http://cst8207.idallen.ca/montage17f.cgi [Course Introduction]: 050_course_introduction.html [Week 03 Notes HTML]: week03notes.html [Take Notes in Class]: data/remember.jpg "Take Notes in Class" [Pandoc Markdown]: http://johnmacfarlane.net/pandoc/