% CST8207 Week 12 Notes -- Shell Scripts: Control Statements: elif, case, loops for/while, break, continue, etc. % Ian! D. Allen -- -- [www.idallen.com] % Winter 2019 - January to April 2019 - Updated 2019-04-04 14:12 EDT - [Course Home Page] - [Course Outline] - [All Weeks] - [Plain Text] !!!   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 12 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 `elif`, `case`, etc. 3. Next week: [Good Error Messages] -- Error and Usage messages: $0, $#, $*, and 1>&2 4. Next week: [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? - Do [Worksheet #08 HTML] to prepare for [Assignment #09 HTML] -- setting permissions, mode, `umask`, personal web site - extended due date - [Assignment #11 HTML] -- tar, processes, syslog, crontab, at, mail, shell script - The checking program has a feature to check just one of your scripts. - extended due date - Available now: [Assignment #12 HTML] -- simple shell scripts - 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!* ### Worksheets Worksheets are preparation for your assignments. You can't do the assignments without having done the worksheets first, and you can't do the worksheets without having first read the Course Notes: 1. Read the web notes. (Please: **Read All The Words**) 2. Do the relevant Worksheet(s). 3. Do the relevant Assignment(s). Make notes from the worksheets on *how each command works*. What do the options used in the worksheets mean, for each command? (See the weekly [List of Commands].) Form a small study group to do the worksheets. Each person tries the example given, and you make sure you all get the same answers. Worksheets are not for hand-in; they are not worth marks; the assignments test your knowledge of the lectures and worksheets. > The worksheets are available in four formats: Open Office (ODT), PDF, HTML, > and Text. Only the Open Office format allows you "fill in the blanks" in > the worksheet. The PDF format looks good but doesn't allow you to type into > the blanks in the worksheet. The HTML format is crude but useful for quick > for viewing online. Do **NOT** open the Worksheet ODT files using any Microsoft products; they will mangle the format and mis-number the questions. Use the free Libre Office or Open Office programs to open these ODT documents. On campus, you can get a copy here: [Course Introduction: Install Libre Office]. Worksheet #08 is for [Assignment #09 HTML]. - [Worksheet #08 ODT] -- Linux file system permissions (modes) - This Worksheet is a prerequisite for [Assignment #09 HTML] - [Worksheet #08 PDF] -- PDF version - [Worksheet #08 HTML] -- HTML version - `chmod, ls -lid, umask` Worksheets prepare you for the upcoming assignments. 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] (all the words) **before** your midterm 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. 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][Assignment #09 HTML]. - In this cheat sheet, you'll learn how to use Vim just enough to get by for work or a project. - "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. 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. 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 ===================================== This is part of [Assignment #09 HTML]. You can do it now, if you Read All The Words. - [Create your own web page!][Student Web Site] - You will need to use `chmod 755` on your `public_html` directory. - Your web page will be visible on the Internet using a web browser to access URL `http://cst8207.idallen.ca/~``abcd0001` where *abcd0001* is replaced with your CLS userid. (There is a tilde character in that URL.) - Example: - View [all the Winter 17W class images] - View [all the Fall 17F class images] - View [all the Winter 18W class images] - View [all the Fall 18F class images] - View [all the Winter 19W class images] Who is using the VIM editor? ============================ This page may take a minute or two to load; be patient: [Who is using the VIM editor?] 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]. SSH and HTTP 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 ongoing attacks on the CLS. Locked out of the CLS ===================== When you are locked out, [follow the directions] in the notes to get your IP address re-enabled. ![Take Notes in Class] ![Read All The Words] Students sent me this: ![Read All The Words! Original comic here: ] -- | 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]: week12notes.txt [anonymous course evaluations]: /#coursenotes [satisfaction surveys]: http://dilbert.com/strips/comic/2005-04-07/ [Week 12 Notes HTML]: week12notes.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 [Worksheet #08 HTML]: worksheet08.html [Assignment #09 HTML]: assignment09.html [Assignment #11 HTML]: assignment11.html [Assignment #12 HTML]: assignment12.html [Assignment #10 HTML]: assignment10.html [Course Introduction: Install Libre Office]: 050_course_introduction.html#install-libreoffice-or-openoffice-into-windows [Worksheet #08 ODT]: worksheet08.odt [Worksheet #08 PDF]: worksheet08.pdf [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 [Practice Tests and Answers]: 000_practice_tests.html [Student Web Site]: 000_student_web_site.html [all the Winter 17W class images]: http://cst8207.idallen.ca/montage17w.cgi [all the Fall 17F class images]: http://cst8207.idallen.ca/montage17f.cgi [all the Winter 18W class images]: http://cst8207.idallen.ca/montage18w.cgi [all the Fall 18F class images]: http://cst8207.idallen.ca/montage18f.cgi [all the Winter 19W class images]: http://cst8207.idallen.ca/montage19w.cgi [Who is using the VIM editor?]: http://cst8207.idallen.ca/vim19w.cgi [Course Introduction]: 050_course_introduction.html [Week 03 Notes HTML]: week03notes.html [follow the directions]: 070_course_linux_server.html#getting-locked-out-of-the-server [Take Notes in Class]: data/remember.jpg "Take Notes in Class" [Read All The Words]: data/lesen_sie.jpg "Read All The Words" [Read All The Words! Original comic here: ]: linux_people2_bars0026.jpg "Read All The Words! Original comic here http://wordpress-111538-317512.cloudwaysapps.com/comic/160/" [Pandoc Markdown]: http://johnmacfarlane.net/pandoc/