Book Image

Learn Linux Shell Scripting – Fundamentals of Bash 4.4

By : Sebastiaan Tammer
Book Image

Learn Linux Shell Scripting – Fundamentals of Bash 4.4

By: Sebastiaan Tammer

Overview of this book

Shell scripts allow us to program commands in chains and have the system execute them as a scripted event, just like batch files. This book will start with an overview of Linux and Bash shell scripting, and then quickly deep dive into helping you set up your local environment, before introducing you to tools that are used to write shell scripts. The next set of chapters will focus on helping you understand Linux under the hood and what Bash provides the user. Soon, you will have embarked on your journey along the command line. You will now begin writing actual scripts instead of commands, and will be introduced to practical applications for scripts. The final set of chapters will deep dive into the more advanced topics in shell scripting. These advanced topics will take you from simple scripts to reusable, valuable programs that exist in the real world. The final chapter will leave you with some handy tips and tricks and, as regards the most frequently used commands, a cheat sheet containing the most interesting flags and options will also be provided. After completing this book, you should feel confident about starting your own shell scripting projects, no matter how simple or complex the task previously seemed. We aim to teach you how to script and what to consider, to complement the clear-cut patterns that you can use in your daily scripting challenges.
Table of Contents (24 chapters)
Title Page
About Packt
Contributors
Preface
Free Chapter
1
Introduction
Index

Chapter 14


  1. What is scheduling? Scheduling allows us to define when and how a script should run, without the need for the user to be interactive at that time.
  2. What do we mean with ad-hoc scheduling? Ad-hoc scheduling, which we normally do with at on Linux, is scheduling that is not periodically repeated, but often a one-time job at a fixed time.
  3. Where does the output of commands run with at normally go? By default, at tries to use sendmail to send a local mail to the user who owns the queue/job. If sendmail is not installed, the output is gone.
  4. How is scheduling for the cron daemon most often implemented? As a user-bound crontab.
  5. Which commands allows you to edit your personal crontab? The command crontab -e. Furthermore, you can list the current crontab with crontab -l and remove the current crontab with crontab -r.
  6. Which five fields are present in the crontab timestamp syntax?
    1. minute
    2. hour
    3. day-of-month
    4. month-of-year
    5. day-of-week
  7. Which are the three most important environment variables for the crontab?
    1. PATH
    2. SHELL
    3. MAILTO
  8. How can we inspect the output for scripts or commands we have scheduled with cron? We can either use redirection in the crontab to write the output to a file, or we can use the Linux local mail functionality to send us the output. Most of the times, redirecting output to a log file is the way to go.
  9. If our scheduled scripts do not have enough output for us to effectively work with log files, how should we remedy this? Use the echo command in multiple places in your script, to signal a message to the reader that execution is doing what is expected. Example of this are: 'Step 1 completed successfully, continuing.' and 'Script execution was a success, exiting.'.