Skip to Content
Shell Scripting: Expert Recipes for Linux, Bash, and More
book

Shell Scripting: Expert Recipes for Linux, Bash, and More

by Steve Parker
August 2011
Beginner to intermediate
600 pages
14h 29m
English
Wrox
Content preview from Shell Scripting: Expert Recipes for Linux, Bash, and More

While with Case

A common use of the case statement that you saw in Chapter 5 is to place it within a while loop. The case statement is then a useful tool which decides what to do on each iteration around the loop. The loop itself is then usually exited with the break statement introduced previously. This can be useful when you want to keep reading through some input until you either find a certain condition on the current line or until you get to the end of the input. This recipe implements a very simplistic command parser, which takes four commands: echo, upper, lower, and quit. The first echoes the input exactly, the second converts to uppercase, and the third converts to lowercase. When the quit command is found, it uses break to get out of the loop.

cat while-case.sh #!/bin/bash quit=0 while read command data do   case $command in     echo)         echo "Found an echo command: $data"         ;;     upper)         echo -en "Found an upper command: "         echo $data | tr '[:lower:]' '[:upper:]'         ;;     lower)         echo -en "Found a lower command: "         echo $data | tr '[:upper:]' '[:lower:]'         ;;     quit)         echo "Quitting as requested."         quit=1         break         ;;     *)         echo "Read $command which is not valid input."         echo "Valid commands are echo, upper, lower, or quit."         ;;   esac done if [ $quit -eq 1 ]; then   echo "Broke out of the loop as directed." else   echo "Got to the end of the input without being ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Command Line and Shell Scripting Techniques

Linux Command Line and Shell Scripting Techniques

Vedran Dakic, Jasmin Redzepagic
Linux Shell Scripting Cookbook - Third Edition

Linux Shell Scripting Cookbook - Third Edition

Clif Flynt, Sarath Lakshman, Shantanu Tushar

Publisher Resources

ISBN: 9781118166321Purchase bookDownloads