5 Courses to Learn Linux Shell Scripting in 2019
These five courses will give you most of the knowledge that you will need to learn how to start shell scripting in Linux for greater productivity.
Join the DZone community and get the full member experience.Join For Free
A huge chunk of a developer's time is wasted in trying to repeat tasks and commands, especially when it comes to working with UNIX or Linux machines, and a good knowledge of shell scripting can free you from such mundane tasks and give you the time to do some interesting stuff.
If you don't know what shell scripting is, it's a program written using built-in shells and Linux commands to automate tasks, like checking whether a host is reachable, or finding and deleting large files older than a certain number of days or archiving them into another machine.
Basically, it's a tool which allows you to automate boring and repetitive tasks, and that's the way programmers should work.
A programmer should not be repeating tasks, but instead should be investing that time to create a script or program which can automate that task.
Why Learn Shell Scripting?
I always ask programmers, developers, and system administrators to learn and master shell scripting because it's one of the skills which not only saves time and increases productivity, but also separates your work from average programmers' who don't have a passion for automation and are not good with their tools.
I'll give you one of the real-world examples form my career. Once I was working on a project which had around 40 Linux hosts where our Java application was installed. After one big release, we realized that one configuration change was missed and there wasn't enough time to do it the proper way by creating another build and loading it into the deployment tool (we're using Opsware that time) to release again. So, we decided to manually make the change in all 40 hosts.
I started doing changes and after 10 minutes, my tech lead came to me and ask if I was all done. I said, "Well, I have just started, only two servers are done now." He looked at me with curiosity and asked how I was doing the changes.
I told him that I was going to each box, opening the config file in VI editor, and then making the change. He took the control from me, made the change in the config file, and wrote a script to copy that file to all 40 servers, which took just 2 minutes to create and run. Another minute and it was all done.
I was surprised. Why I didn't think of that? But my lack of Linux knowledge and shell scripting prevented me from doing it in the first place.
That day I realized that if you want to improve your productivity and impress your colleagues, then you must be good with your tools, and shell scripting is one of them.
Top 5 Shell Scripting Courses for Programmers
Now that you know what shell scripting is and why a programmer should learn shell scripting, it's time to go to the next question: how do you learn shell scripting?
Well, an online training course is a good starting point, followed by a book for more comprehensive learning.
1. Shell Scripting: Discover How to Automate Command Line Tasks
This is one of the best courses to learn shell scripting from scratch, particularly if you don't have much experience in shell scripting and automation.
The course is well-structured and it's neither too long nor very short, which means you will learn essential knowledge in quick time and start creating scripts in no time.
By the end of this course, you will be able to create shell scripts with ease. You'll learn how to take tedious and repetitious tasks and turn them into programs that will save you time and simplify your life on Linux, Unix, or MAC systems.
The course teaches essential shell scripting techniques, like:
Checking exit status for programs and commands and how to make effective use of them in shell scripts.
How to accept input from the user.
How to write conditional statements and loops in shell scripts.
Real-world examples of shell scripts from his collections.
Practice exercise and quizzes.
In short, it's one of the best courses to learn shell programming for Linux, Unix, and Mac.
2. Linux Shell Programming for Beginners
This is one of the most complete courses to learn shell scripting in Linux using bash shell. In this course, the instructor not only explains basics like what a shell is or what bash is and how it is different from just typing the command in the command line, but it also goes on to show you how you can automate your day-to-day task using shell scripts.
The course teaches you how to write bash scripts, explains how command history, echo commands, and variables work in bash, operators, loops, statements and all other concepts you need to write complex shell scripts to automate repetitive tasks.
In addition to providing you with all the theoretical information about BASH and Shell Scripting, the course also provides many examples at every step to get you familiar with how shell scripting works and what happens when you execute a particular shell script.
In short, a fantastic course to learn how to write well-documented, modular, efficient and complex shell scripts, automate daily routines, basic programming concepts such as loops, commands, and statements, how to effectively write command line processing, process management and even manipulate command-line functions.
Additionally, you can download all the scripts that were used by the instructor to try on your own.
3. Linux Shell Scripting: A Project-Based Approach to Learning
This is one of the comprehensive courses to learn shell scripting or shell programming in Linux, particularly with the bash scripts.
In this course, you will learn basics like creating and using variables, shell built-in commands and operators, conditionals, loops, checking exit statuses, and taking inputs from the user. It also teaches advanced concepts like performing text and string manipulation, processing multiple command line arguments, and error handling.
The best part of this course is that it's project-based, which means that instead of learning bits and pieces of information, you'll write actual shell scripts that you can use in real-world situations. You get the chance to immediately put what you learn to use so that you fully understand and remember it.
4. Bash Shell Scripting
This is one of the best and most complete courses on Linux Bash scripting and command lines.
Shell scripting allows us to use the shell's abilities and to automate a lot of tasks that would otherwise require a lot of commands.
Bash shell scripting will help you automate routine tasks and save valuable time, whether you're a system administrator, Linux user, or software developer. A shell script is much quicker than programming in any other languages.
5. Bash Shell Scripting Tutorial for Beginners
Linux has many shells like Bourne shell (sh), C shell (cash), Korn shell (ksh), and Bourne Again shell, popularly known as bash.
It incorporates useful features from ksh and csh shell. bash is not only an excellent command line shell, but a scripting language in itself and this course helps you to realize the full potential of bash and Linux commands.
In this course, you will not only learn how to use bash for writing shell scripts, but you'll also learn several useful Linux commands in very little time. Generally, everyone takes a while to discover those commands without any guidance, but this course teaches you in a couple of hours.
Those are some of the best shell scripting courses for programmers and Linux users. Automation is a really important skill and as your experience and responsibility grow you will appreciate automation more. A good knowledge of shell scripting using bash in Linux or using Python or Perl or any other scripting language goes a long way to improve your productivity while working as IT professionals.
Thanks for reading this article. If you like these shell scripting courses, then please share them with your friends and colleagues. If you have any questions or feedback then please drop a note.
P. S. If you are looking for some free courses to learn shell scripting or Linux in general, you can also check out this list of free Linux online courses.
Published at DZone with permission of Javin Paul, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.