Linux Bash Scripting for Beginners: Write Your Own Scripts

Make your work easier, understand bash scripts written by others and build your own from scratch

Ratings: 3.60 / 5.00




Description

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:

  • Learning by example, so that instead of going through boring theoretical concepts, you get to see exactly how each concept applies in practice.
  • Monthly challenges to help you gain experience and trust in your own abilities.
  • Interactive, supportive experience, as I promptly reply to your questions when things just don't work.
  • 30-day money back guarantee if you don't like this course for any reasons, no questions asked.


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

What You Will Learn!

  • Create and understand bash scripts.
  • Automate tasks in the Linux environment
  • Create a simple network monitoring utility in Linux
  • Schedule tasks to be run on a Linux system by using crontab
  • Define and use variables and functions in a bash script
  • Use basic Linux command line tools
  • Redirect output of command line tools using I/O redirection and pipes
  • Understand command substitution in the Linux command line environment
  • Many job ads list shell scripting as one of their requirements. Your chances in landing one of these will significantly increase

Who Should Attend!

  • Junior software/network/QA engineers or students who would like to learn to use the linux bash shell efficiently
  • To make best use of this course you should take the time and work on the included challenges and exercises and take advantage from the interaction with your instructor. Just going through the materials can be done for free if you search deep enough.
  • If you are already familiar with bash scripts and linux command line utilities, this course is probably NOT for you