シェルスクリプトでFizzBuzz

FizzBuzz問題というのがあることを恥ずかしながら最近知りました。

業務でシェルスクリプト書いてたのでシェルスクリプト(Bourne shell)で書いてみました。1から100まで実行します。
いろいろ素人臭いところあると思いますがご了承ください(汗

Raspbianで/bin/sh指定(dash)で動いているのでBourne shell互換のシェルならどこでも動くと思います。(だからシバンも#!/bin/shです)

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-17-22-58-26

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-17-22-59-06

#!/bin/sh
num=1
while :
do
fizz=`expr ${num} % 3`
buzz=`expr ${num} % 5`
if [ ${fizz} = 0 -a ${buzz} = 0 ]; then
echo “FizzBuzz”
elif [ ${fizz} = 0 ]; then
echo “Fizz”
elif [ ${buzz} = 0 ]; then
echo “Buzz”
else
echo ${num}
fi
num=`expr ${num} + 1`
if [ ${num} = “101” ]; then
exit
fi
done