We may earn an affiliate commission when you visit our partners.
Course image
Jason Cannon

If you want to learn how to write shell scripts like a pro, solve real-world problems, or automate repetitive and complex tasks, read on.

Read more

If you want to learn how to write shell scripts like a pro, solve real-world problems, or automate repetitive and complex tasks, read on.

Hello. My name is Jason Cannon and I'm the author of Linux for Beginners, Python Programming for Beginners, and an instructor to thousands of satisfied students. I started my IT career in the late 1990's as a Unix and Linux System Engineer and I'll be sharing my real-world shell scripting and bash programming experience with you throughout this course.

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.

Here is what you will get and learn by taking this Shell Scripting course:

  • A step-by-step process of writing shell scripts that solve real-world problems.
  • The #1 thing you must do every time you create a shell script.
  • How to quickly find and fix the most common shell scripting errors.
  • For those of you who want to start scripting right away, watch the two video shell scripting crash course. If you do nothing else than watch these two videos you'll be ahead of most shell programmers.
  • How to accept input from a user and then make decisions on that input.
  • How to accept and process command line arguments.
  • What special variables are available, how to use them in your shell scripts, and when to do so.
  • A shell script creation check list You'll never have to guess what to include in each of your shell scripts again. Just use this simple check list.
  • A shell script template (boilerplate). Use this format for each of your shell scripts. It shows exactly what to include and where everything goes. Eliminate guesswork.
  • Practice exercises with solutions so you can start using what you learn right away.
  • Real-world examples of shell scripts from my personal collection.
  • A download that contains the scripts used in the presentations and lessons. You'll be able to look at and experiment with everything you're learning.
  • Quizzes after each section just to make sure you're learning the most important aspects of shell scripting.
  • Unconditional Udemy 30 day money-back guarantee - that's my personal promise of your success.

Learn to Program Using Any Shell

What you learn in this course can be applied to any shell, however the focus is on the bash shell and you'll learn some really advanced bash features. Again, whether you're using bash, bourne (sh), KornShell (ksh), C shell (csh), Z shell (zsh), or even the tcsh shell, you'll be able to put what you learn in this course to good use.

Perfect for Linux, Unix, Mac and More.

Also, you'll be able to use these scripts on any Linux environment including Ubuntu, Debian, Linux Mint, RedHat, Fedora, OpenSUSE, Slackware, Kali Linux and more. You're scripts will even run on other operating systems such as Apple's Mac OS X, Oracle's Solaris, IBM's AIX, HP's HP-UX, FreeBSD, NetBSD, and OpenBSD.

Here's What People Are Saying About Jason and His Courses:

"Another amazing course by Jason Cannon. This course helped propel my bash scripting to a whole new level. Now, I can't stop automating my work flow. :) Pretty soon everything will do everything itself." Fernando Garcia, Udemy Student

"Excellent course on Linux. It is the best way to get started using Linux that I have come across." Chris Bischoff, Udemy student

"This class was a great review of the 2 Linux classes I took in school. I learned plenty of new stuff and got a great refresher on things I haven't used in some time. I did well on my interview and got the job I was looking for. Thanks. " Alan Derrick, Udemy student

"This was a great course. Learned a lot from it. " Ricardo José Crosara Junior, Udemy student

"Excellent starter course. Very good and complete guide to get you started on working on Linux." Brian Mulder, Udemy student

"Great course. Easy to understand for beginners and a great refresher for experienced users. " Spencer Ball, Udemy student

"Very well laid out course. Thanks Jason. " Eric Etheredge, Udemy student

"Love it... it's absolutely one of the best courses I've taken here on Udemy." Idriss N, Udemy student

"Awesome Course. Another great one. Thanks Jason. " --John Wilmont, Udemy student

"Excellent Course. Having come from a moderate understanding of Linux, this course has given me a deeper and more streamlined understanding of Linux. Definitely worth the money." Armando Cabrera, Udemy student

"Fantastic course and very beautifully explained." S John, Udemy student

"Great course, great instructor. I enjoyed every minute of it. I recommend this course 100%." Alfredo, Udemy student

"I am lovin' it. Nice way to begin one's journey into Linux." Rohit Gupta, Udemy student

Free Bonus - Downloads of All the Material Covered

As an added bonus for enrolling in this Shell Scripting video training course, you'll receive access to all the slides and shell scripts used in the lessons. You can download them and refer to them when you want to jog your memory or double-check your work.

Enroll now and to learn how to write shell scripts like a pro.

Enroll now

What's inside

Learning objectives

  • Write shell scripts that can be used on linux, mac, and unix operating systems.
  • Automate tasks using shell scripts.
  • Create complex scripts that take advantage of advanced bash shell features.

Syllabus

Start Here - Course Overview and Downloads
Course Overview

Download all the source code examples and the solutions to the practice exercises attached to this lecture.

Read more
Shell Scripting, Succinctly
Section Introduction
Shell Scripting, Part I
Shell Scripting, Part II
Shell Scripting
Practice Exercises
Exit Statuses and Return Codes
Exit Status Demo
Functions
Functions, Part I
Functions, Part II
Review
Shell Script Checklist and Template
Shell Script Checklist and Template (Video)
Shell Script Check List and Template
Wildcards
Introduction to Wildcards
Wildcard Introduction, Part I
Wildcard Introduction, Part II
Wildcards in Shell Scripts
Wildcard Scripting Demo
Case Statements
Logging
While Loops
While Loops, Part I
While Loops, Part II
Debugging
Debugging Essentials
More Debugging Tips
Data Manipulation and Text Transformations with Sed
Scripts Used to Create This Course
Slides
Shell Scripting Introduction
Wildcards in Scripts
Debugging - More Tips
Bonus Section

The contents of this lecture are so secret I'm not even allowed to describe it! Open, if you dare.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines shell scripting, a basic skill for Linux, Unix, and Mac systems
Taught by Jason Cannon, who has worked in systems engineering and teaches thousands of students worldwide
Develops skills in bash shell programming
Teaches students to automate repetitive and complex tasks using shell scripts
Explores problem-solving through shell scripts
Offers step-by-step guidance for learners new to shell scripting
May require prior experience with Unix or Linux systems

Save this course

Save Shell Scripting: Discover How to Automate Command Line Tasks to your list so you can find it easily later:
Save

Reviews summary

Shell scripting for automating tasks in linux/unix/mac

This course provides a comprehensive introduction to shell scripting for automating tasks in Linux, Unix, and Mac operating systems. The course covers the fundamentals of shell scripting, including variables, control structures, loops, functions, and command-line arguments. It also includes more advanced topics such as regular expressions, processing files, and handling errors. The course is taught by Jason Cannon, an experienced instructor who provides clear and concise explanations of the material. The course includes a variety of exercises and quizzes to help students practice what they have learned. Overall, this course is an excellent resource for anyone who wants to learn how to write effective shell scripts.
The course covers all the important aspects of shell scripting from basic to advanced.
"The course covers a wide range of topics, starting with the basics of shell scripting and moving up to more advanced techniques as the course goes on."
"It goes over important ideas like variables, control structures, loops, functions, and command-line arguments."
"It also goes into more advanced topics such as regular expressions, processing files, and handling errors."
The course includes a variety of exercises and quizzes to help students practice what they have learned.
"One of the best things about this course is that it is very hands-on."
"During the lectures, Jason gives a lot of coding exercises and challenges to get people involved in learning."
Explanations are clear and concise.
"The instructor, Jason Cannon, does a great job of breaking down difficult ideas into modules that are easy to understand."
"Jason makes sure that the skills taught in the course can be used not only on Linux systems, but also in Unix and Mac environments."
"Jason's knowledge and real-world experience to give real-world examples and valuable insights that make learning much easier."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Shell Scripting: Discover How to Automate Command Line Tasks with these activities:
Review Linux command line basics
Prepare for this class by reviewing Linux command line basics like file navigation, directory management, and text editing.
Browse courses on Linux Command Line
Show steps
  • Review the following commands: cd, ls, mkdir, rm, cp, mv, nano, cat, grep
  • Practice creating, navigating, and deleting directories
  • Practice creating and editing text files
Create a comprehensive study guide for the course
Prepare for exams and enhance your understanding by compiling a comprehensive study guide that summarizes key concepts and practice questions.
Show steps
  • Review lecture notes, assignments, and practice exercises
  • Identify and summarize key concepts
  • Collect practice questions and solutions
  • Organize and format your study guide
Complete practice exercises from the course
Reinforce your understanding of shell scripting by completing the practice exercises provided in the course.
Show steps
  • Attempt the practice exercises after each lecture
  • Review the solutions provided by the instructor
  • Identify areas where you need further practice
Six other activities
Expand to see all activities and additional details
Show all nine activities
Read Advanced Bash Scripting Guide
Supplement your learning in this course by reading Advanced Bash Scripting Guide to gain deeper knowledge of advanced shell scripting techniques.
Show steps
  • Read Chapters 1-3 to understand advanced shell scripting concepts like parameter parsing, input/output redirection, and error handling
  • Complete the practice exercises at the end of each chapter
  • Apply what you learn to your own shell scripts
Follow tutorials on advanced shell scripting topics
Expand your knowledge of shell scripting by following tutorials on advanced topics such as working with arrays, functions, and regular expressions.
Show steps
  • Identify specific areas where you want to improve your skills
  • Find tutorials or online courses that cover those topics
  • Follow the tutorials and complete the practice exercises
Mentor a beginner in shell scripting
Reinforce your understanding of shell scripting while helping others learn the basics.
Show steps
  • Find a beginner who is interested in learning shell scripting
  • Offer guidance and support
  • Review their code and provide feedback
Build a shell script to automate a repetitive task
Apply your shell scripting skills to create a useful tool that automates a repetitive task, such as generating reports or managing files.
Show steps
  • Identify a repetitive task that you can automate
  • Design and write a shell script to automate the task
  • Test and debug your script
  • Document your script for future use
Contribute to an open-source shell scripting project
Gain practical experience and contribute to the community by participating in an open-source shell scripting project.
Show steps
  • Find an open-source shell scripting project that interests you
  • Identify areas where you can contribute
  • Submit your contributions and collaborate with the project maintainers
Participate in a shell scripting competition or hackathon
Challenge yourself and showcase your skills by participating in a shell scripting competition or hackathon.
Show steps
  • Find an appropriate competition or hackathon
  • Form a team or work individually on a project
  • Develop and submit your solution
  • Receive feedback and learn from the experience

Career center

Learners who complete Shell Scripting: Discover How to Automate Command Line Tasks will develop knowledge and skills that may be useful to these careers:
Computer and Information Research Scientist
Computer and Information Research Scientists conduct research to advance our understanding of computer and information sciences. They create new algorithms to solve complex problems, develop new programming languages, and design new computer architectures. Taking this course on Shell Scripting can be useful for Computer and Information Research Scientists as it can help them automate tasks and create complex scripts that take advantage of advanced shell features, which can save time and improve efficiency in their research work.
Database Administrator
Database Administrators manage and maintain databases. They ensure that databases are running smoothly and that data is secure. Taking this course on Shell Scripting may be useful for Database Administrators as it can help them automate tasks such as database backups and performance tuning, which can save time and improve efficiency in their work.
Web Developer
Web Developers design and develop websites and web applications. They work with a variety of programming languages and technologies. Taking this course on Shell Scripting may be useful for Web Developers as it can help them automate tasks such as website deployment and maintenance, which can save time and improve efficiency in their work.
Network Administrator
Network Administrators manage and maintain computer networks. They ensure that networks are running smoothly and that data is transmitted securely. Taking this course on Shell Scripting may be useful for Network Administrators as it can help them automate tasks such as network configuration and troubleshooting, which can save time and improve efficiency in their work.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect an organization's computer systems and networks. They also monitor security systems and investigate security breaches. Taking this course on Shell Scripting may be useful for Information Security Analysts as it can help them automate tasks such as security monitoring and incident response, which can save time and improve efficiency in their work.
Computer Network Architect
Computer Network Architects design, build, and maintain computer networks. They work with a variety of technologies, including routers, switches, firewalls, and servers. Taking this course on Shell Scripting may be useful for Computer Network Architects as it can help them automate tasks such as network configuration and troubleshooting, which can save time and improve efficiency in their work.
Technical Writer
Technical Writers create documentation for computer software and hardware. They work with engineers and other technical staff to gather information and write clear and concise instructions. Taking this course on Shell Scripting may be useful for Technical Writers as it can help them automate tasks such as documentation generation and maintenance, which can save time and improve efficiency in their work.
Systems Administrator
Systems Administrators manage and maintain computer systems. They ensure that systems are running smoothly and that data is secure. Taking this course on Shell Scripting may be useful for Systems Administrators as it can help them automate tasks such as system monitoring and maintenance, which can save time and improve efficiency in their work.
Software Developer
Software Developers design, develop, and maintain software applications. They work with a variety of programming languages and technologies. Taking this course on Shell Scripting may be useful for Software Developers as it can help them automate tasks such as code testing and deployment, which can save time and improve efficiency in their work.
Computer Systems Analyst
Computer Systems Analysts study an organization's current computer systems and procedures, and design ways to make them more efficient. They may also design and implement new systems. Taking this course on Shell Scripting may be useful for Computer Systems Analysts as it can help them automate tasks such as data analysis and system monitoring, which can save time and improve efficiency in their work.
Systems Engineer
Systems Engineers design, develop, and maintain complex systems. They work with a variety of technologies, including hardware, software, and networks. Taking this course on Shell Scripting may be useful for Systems Engineers as it can help them automate tasks such as system configuration and management, which can save time and improve efficiency in their work.
DevOps Engineer
DevOps Engineers work with developers and operations staff to ensure that software is developed and deployed smoothly. They work with a variety of tools and technologies, including shell scripting. Taking this course on Shell Scripting may be useful for DevOps Engineers as it can help them automate tasks such as continuous integration and deployment, which can save time and improve efficiency in their work.
Quality Assurance Analyst
Quality Assurance Analysts test software to ensure that it meets requirements. They work with developers and other staff to identify and fix defects. Taking this course on Shell Scripting may be useful for Quality Assurance Analysts as it can help them automate tasks such as test case generation and execution, which can save time and improve efficiency in their work.
Data Scientist
Data Scientists use data to solve business problems. They work with a variety of data analysis and machine learning techniques. Taking this course on Shell Scripting may be useful for Data Scientists as it can help them automate tasks such as data cleaning and preparation, which can save time and improve efficiency in their work.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning models. They work with a variety of data analysis and machine learning techniques. Taking this course on Shell Scripting may be useful for Machine Learning Engineers as it can help them automate tasks such as data preparation and model training, which can save time and improve efficiency in their work.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Shell Scripting: Discover How to Automate Command Line Tasks.
Provides a comprehensive guide to advanced Bash scripting techniques, covering topics such as working with arrays, functions, and regular expressions. While it is not specifically tailored to the content of this course, it offers in-depth knowledge and practical examples that can enhance the learning experience.
Provides a thorough introduction to the Linux command line, including essential commands, file and directory management, and shell scripting basics. It serves as a solid foundation for understanding the concepts covered in this course.
This classic book provides a deep dive into the philosophy and principles behind Unix and its tools, including shell scripting. It is not a beginner-friendly resource but offers valuable insights and historical context for those interested in the foundations of shell scripting.
Covers two powerful Unix utilities, sed and awk, which are commonly used in shell scripts for text processing and data manipulation. While it is not directly focused on shell scripting, it provides valuable knowledge for enhancing and extending the capabilities of shell scripts.
Provides a comprehensive overview of Unix shell programming, covering topics such as shell basics, scripting techniques, and advanced features. While it more general resource not specifically tailored to this course, it offers a solid foundation for understanding shell scripting concepts.
Provides a beginner-friendly introduction to the Bash shell, covering basic commands, scripting concepts, and troubleshooting techniques. While it good resource for those new to shell scripting, it may not provide sufficient depth for the topics covered in this course.
Provides a very basic introduction to the Bash shell, covering essential commands and scripting concepts. While it good resource for absolute beginners, it may not provide sufficient depth for the topics covered in this course.
This classic book provides a comprehensive overview of the Unix programming environment, including shell scripting. While it valuable resource for understanding the historical context and underlying principles of Unix, it may not be directly relevant to the specific topics covered in this course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Shell Scripting: Discover How to Automate Command Line Tasks.
Bash Scripting and Shell Programming (Linux Command Line)
Most relevant
Creating Shell Scripts in Enterprise Linux
Most relevant
Linux Commands & Shell Scripting
Most relevant
Linux for Beginners
Most relevant
Learn Linux Administration and Supercharge Your Career
Most relevant
Linux: Introduction to Shell Scripting for DevOps
Most relevant
Complete Linux Training Course to Get Your Dream IT Job...
Most relevant
Linux Shell Scripting: A Project-Based Approach to...
Most relevant
Linux and Bash for Data Engineering
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser