Have you ever been frustrated by that script that just did not work? Are you tired of searching the web for a ready-made script, hoping that it will fix your problem? Want to sit back and relax for a couple of seconds while your script performs the task that would have taken you two hours to accomplish manually? Then you have come to the right course!
This course will help you build your own scripts and understand the ones written by others. No more relying on scripts that others built and hoping that they will solve your custom problems. Just writing your own solutions to your own problems.
Take this course to get:
In short, you will learn the basic building blocks of bash, watch how a real-life utility is built, do the monthly challenges and solve coding problems in the discussion area to gain experience (did I mention the prizes?).
The first section covers basic building blocks that allow you to write your own shell scripts, which are presented in a learn-by-example fashion. Here you will learn about basic linux command line utilities used throughout the course, a simple script structure, defining functions, using input/output redirection, pipes and command substitution. The last lectures in this section focus on control statements, like if, case, while and for.
In the second section I will show you how to build a simple real-life utility for monitoring the amount of traffic on a network interface. There are two scripts involved in this utility. The "core", that queries system data about a network interface and adds it to a comma-separated-values (csv) file, one line at a time. The other one will take care of scheduling the "core" to be run at specific times, based on a user specified interval. The result is a csv file that contains data collected at specific points in time, data that can be later processed into a spreadsheet application (e.g. build graphs from it).
The rest of the course, what I call the dynamic part, is built in time. You will find here lectures on various command line utilities (e.g. find) or more in-depth lectures on subjects like redirection. I also post monthly challenges for you to gain some much needed experience, in order to ascend from a beginner to an intermediate level.
==========================================================
**** Monthly challenges (with prizes) ****
Jun '16: Utility to count the occurrences of a letter inside a text file
Mar '16: Textify, an utility that takes an integer number and converts it to text
Jan '16: Utility to equally space lines in a text file
Dec '15: Host ping reply time monitor
==========================================================
Update History
May 22nd 2016: Published solution for the January challenge
Feb 29th 2016: Published solution for the December challenge
Jan 3rd 2016: New lecture on xargs
Nov 22nd 2015: New section on standard end error output redirection
Nov 15th 2015: New lectures on the find utility and the proc filesystem.
Oct 10th 2015: New quiz on parameters