Now, it may seem that these loops can do a little more than just count down numbers. We may want to read data in from a text file and process each line. The shell built-in
read command that we saw earlier in this book can be used to read a file line by line. In this way, we can use a loop to process each line of a file.
To demonstrate some of these functionalities, we will use a file that contains the server addresses. These could be hostnames or IP addresses. In the following example, we will make use of the IP addresses of Google DNS Servers. The following command shows the contents of the
$cat servers.txt 184.108.40.206 220.127.116.11
read command in the condition of the
while loop, we can loop as long as we have more lines to read from the file. We specify the input file directly after the
done keyword. For each line that we read from the file, we can test if the server is up with the command
ping and if the server is responding, we append it to a...