まとめ - 数字当てゲーム
CoddyのTerminalジャーニー「基礎」セクションの一部。レッスン 73/82。
チャレンジ
簡単guesser.sh という名前のシェルスクリプトを作成し、固定された推測値の並びを使った数当てゲームをシミュレートしてください。
スクリプトでは、次のことを行ってください。
- shebang 行(
#!/bin/bash)から開始する secretという変数に値5を設定するguessという変数に初期値0を設定するguessがsecretと等しくない間、継続する while ループを使用する- ループ内で、
guessを 1 増加させる - if 文を使って推測値を確認する:
guessがsecretより小さい場合、次を出力する:Guess [guess]: Too low!guessがsecretと等しい場合、次を出力する:Guess [guess]: Correct!
スクリプトを実行可能にして実行してください。出力は次のようになります。
Guess 1: Too low!
Guess 2: Too low!
Guess 3: Too low!
Guess 4: Too low!
Guess 5: Correct!1 行ごとに
echoを 1 つ使って複数行のスクリプトを書くこともできますが、もっと短い方法があります。ヒアドキュメントを使うと、終了語までのすべての内容をそのままファイルに書き込めます。cat > script.sh << 'EOF' #!/bin/bash echo "hello" EOF
'EOF'を囲む引用符によって、ファイルの書き込み中に$variablesが展開されないようになります。これは、スクリプト自体で変数を使用する場合に必要な動作です。
ヒント: while 条件で「等しくない」を表すには
-ne、if 文で「より小さい」を表すには-lt、「等しい」を表すには-eqを使用してください。各ループの反復の開始時に、guess=$((guess + 1))で推測値を増加させます。
自分で試してみよう
ターミナル
基礎のすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド