演習課題「5より上位だったら「あと少し」」
右のターミナル環境には、「output.sh」というシェルスクリプトがあります。
このコードは、「1」から「10」をランダムに出力して、number変数に合わせてメッセージを出力します。
このコードを修正して、次のメッセージを表示してください。
- 数字が「1」のとき、「おめでとう」と表示する
- 数字が「5」より小さいとき、「あと少し」と表示する
- それ以外のとき、「ざんねん」と表示する
採点ボタンをクリックして、正解と表示されれば演習課題クリアです!
期待する出力値
$ ./output.sh
3
あと少し
$ ./output.sh
5
ざんねん
#09:いろいろな条件で分岐しよう
if文を使って、数値の大小を比較する方法を学習します。そのために、testコマンドの条件式を使ってみましょう。
記号 | 役割 |
---|---|
= | 2つの文字列が等しい |
!= | 2つの文字列が等しくない |
-eq | 2つの数値が等しい |
-ne | 2つの数値が等しくない |
-lt | 左の数値が右の数値より小さい |
-le | 左の数値が右の数値以下 |
-gt | 左の数値が右の数値より大きい |
-ge | 左の数値が右の数値以上 |
引数を受け取って、それに合わせてメッセージを出力#!/bin/bash
time=$1
echo "Time:${time}"
# 12より小なら、午前中
if [ $time -lt 12 ]; then
echo "午前中"
# 12なら、正午
elif [ $time -eq 12 ]; then
echo "正午"
# 12より大なら、午後
else
echo "午後"
fi
if 文と test コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス
https://shellscript.sunone.me/if_and_test.html
【 if 】 条件分岐構造を作る | 日経 xTECH(クロステック)
https://tech.nikkeibp.co.jp/it/article/COLUMN/20060227/230800/
【 test 】 条件式の真偽を判定する | 日経 xTECH(クロステック)
https://tech.nikkeibp.co.jp/it/article/COLUMN/20060227/230901/
Man page of test
https://linuxjm.osdn.jp/html/gnumaniak/man1/test.1.html