Book Image

Linux Shell Scripting Cookbook - Third Edition

By : Clif Flynt, Sarath Lakshman, Shantanu Tushar
Book Image

Linux Shell Scripting Cookbook - Third Edition

By: Clif Flynt, Sarath Lakshman, Shantanu Tushar

Overview of this book

The shell is the most powerful tool your computer provides. Despite having it at their fingertips, many users are unaware of how much the shell can accomplish. Using the shell, you can generate databases and web pages from sets of files, automate monotonous admin tasks such as system backups, monitor your system's health and activity, identify network bottlenecks and system resource hogs, and more. This book will show you how to do all this and much more. This book, now in its third edition, describes the exciting new features in the newest Linux distributions to help you accomplish more than you imagine. It shows how to use simple commands to automate complex tasks, automate web interactions, download videos, set up containers and cloud servers, and even get free SSL certificates. Starting with the basics of the shell, you will learn simple commands and how to apply them to real-world issues. From there, you'll learn text processing, web interactions, network and system monitoring, and system tuning. Software engineers will learn how to examine system applications, how to use modern software management tools such as git and fossil for their own work, and how to submit patches to open-source projects. Finally, you'll learn how to set up Linux Containers and Virtual machines and even run your own Cloud server with a free SSL Certificate from letsencrypt.org.
Table of Contents (14 chapters)

Reading n characters without pressing the return key

The bash command read inputs text from the keyboard or standard input. We can use read to acquire input from the user interactively, but read is capable of more. Most input libraries in any programming language read the input from the keyboard and terminate the string when return is pressed. There are certain situations when return cannot be pressed and string termination is done based on a number of characters received (perhaps a single character). For example, in an interactive game, a ball is moved upward when + is pressed. Pressing + and then pressing return to acknowledge the + press is not efficient.

This recipe uses the read command to accomplish this task without having to press return.

How to do it...

You can use various options of the read command to obtain different results, as shown in the following steps:

  1. The following statement will read n characters from input into the variable_name variable:
        read -n number_of_chars variable_name

Consider this example:

        $ read -n 2 var
        $ echo $var
  1. Read a password in the non-echoed mode:
        read -s var
  1. Display a message with read using the following command:
        read -p "Enter input:"  var
  1. Read the input after a timeout:
        read -t timeout var

Consider the following example:

        $ read -t 2 var
        # Read the string that is typed within 2 seconds into
        variable var.
  1. Use a delimiter character to end the input line:
        read -d delim_char var

 Consider this example:

        $ read -d ":" var
        hello:#var is set to hello