#!/bin/bash #コンパイルされていないファイルを実行しようとするとカーネルがエラーを返し、シェル(/bin/bash)が起動。インタプリタとしてスクリプトを読み込み実行する。 echo 二桁の正の整数 m があります。 #数当てプログラムをユーザーにやってもらう導入として、数当てルールを表示する。           echo さあ、あなたは m の数字を当てられるかな。 #echoの2行までは分かりやすいように日本語である。 echo What\'s your number? #数当てゲームのはじまりの言葉。ユーザーにこの行までの3行分がユーザーに表示される。 echo What\'s your number? > quiz1.txt #quiz1.txtというファイルにセリフが書き込まれる。\はコマンド認識されないためのエスケープである。  read a #ユーザーが打ち込んだ値をaとして、計算機が読み込む。 echo $a >> quiz1.txt #読み込んだ値をシェル変数として、ファイルquiz.txtに追加で書き込む。  m=$RANDOM #mという文字にランダム変数を代入。 until test $m -lt 100 -a $m -gt 9 #「mが100より小さく、かつ9より大きい」という事象が真となるまでdoからdoneまでのコマンドを実行し続ける。  do m=$RANDOM #文字mの値をランダム変数でもう一度置き直す。 done #ここまでで、mが2桁の正の整数となる。 until test $a -eq $m #aがmと等しくなるまで、doからdoneまでの間のコマンドを実行し続ける。 do if test $a -gt $m #aがmより大きいという事象が真の場合はthen以下の、偽の場合はelse以下のコマンドを実行する。 then echo 違う!$aだと大きいです。$aより小さい値にしてみて! #値aがmより大きいことを表示し、ユーザーに伝える。 echo Your number is larger than the answer. >> quiz1.txt     #値aが答えより大きいことを、quiz1.txtに追加で書き込む。 else echo 残念!$aだと小さいです。mは、もっと大きいょ! #値aがmより小さいことを表示し、ユーザーに伝える。 echo Your number is smaller than the answer. >> quiz1.txt #値aが答えより小さいことを、quiz1.txtに追加で書き込む。 fi echo What\'s your number? #再びユーザーに数当てにチャレンジさせる。 echo What\'s your number? >> quiz1.txt #疑問文のセリフが、quiz1.txtに追加で書き込まれる。 read a #ユーザーが打ち込んだ値を、再び読み込む。 echo $a >> quiz1.txt #その値aを、quiz1.txtに追加で打ち込む。 done #ここまでで、ユーザーが打ち込んだ値aが答えであるmと一致する。 echo "ピンポーン!!謎の整数 m の正体は $a でした。よく数を当てれました!!" #答えを当てたことを、ユーザーに知らせる。 echo Your number matches the answer!! END. >> quiz1.txt #答えを当てたことを、quiz1.txtに追加で書き込み、プログラムが終了する。