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

shuf

shuf is a useful sorter, which normally acts with random input to produce randomly shuffled output, although you can provide your own “random” source so that it produces repeatable results every time. It can work on input files or on numeric ranges. It can also be very useful when working on arrays.

Dice Thrower

This simple script throws three dice and gives you the total. This also shows you how putting something like this into a function makes it more flexible and easier to integrate into a script; not only is the main body of code simpler and easier to read, but you can change the implementation once and the effect ripples through the rest of the script.

download.eps
cat dice.sh
#!/bin/bash
# could even do this as an alias.
function rolldice
{
  return 'shuf -i 1-6 -n1'
}
total=0
rolldice
roll=$?
total='expr $total + $roll'
echo "First roll was $roll"
rolldice
roll=$?
total='expr $total + $roll'
echo "Second roll was $roll"
rolldice
roll=$?
total='expr $total + $roll'
echo "Third roll was $roll"
echo
echo "Total is $total"
$ ./dice.sh
First roll was 5
Second roll was 3
Third roll was 2
Total is 10
$ ./dice.sh
First roll was 3
Second roll was 4
Third roll was 5
Total is 12
$ ./dice.sh
First roll was 4
Second roll was 2
Third roll was 2
Total is 8
$

dice.sh

Card Dealer

Slightly more advanced is a routine to pick random playing cards. This script uses shuf with two arrays to randomize ...

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