メインコンテンツへスキップ
レッスン 3 / 12推定時間: 35

条件分岐(if文)の基本

シェルスクリプトでの条件分岐の書き方、テスト演算子の使い方、複雑な条件の組み合わせ方を学習します

このレッスンの学習目標

  • if文の基本構文を理解する
  • テスト演算子の種類と使い方を習得する
  • 複雑な条件を組み合わせられるようになる
  • case文の使い方を学ぶ

if文の基本構文

if文は、条件に基づいて処理を分岐させるための構文です。

基本的なif文

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

if-elif-else文

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

テスト演算子

数値比較演算子

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

文字列比較演算子

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

ファイル・ディレクトリのテスト

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

複合条件

AND(&&)とOR(||)演算子

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

[[ ]] vs [ ]

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

case文

case文は、複数の条件を効率的に処理するための構文です。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

実践的な例

ファイルバックアップスクリプト

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

ユーザー入力の検証

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

演習問題

演習1: パスワード強度チェッカー

パスワードの強度をチェックするスクリプトを作成してください。

  • 8文字以上
  • 大文字と小文字を含む
  • 数字を含む
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

演習2: ファイル種類判定

ファイル名から拡張子を判定し、適切な処理を提案するスクリプトを作成してください。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

まとめ

このレッスンで学んだこと:

  1. if文の基本構文 - if, elif, else の使い方
  2. テスト演算子 - 数値比較、文字列比較、ファイルテスト
  3. 複合条件 - AND (&&)、OR (||) の組み合わせ
  4. [[ ]] vs [ ] - 新しい構文の利点
  5. case文 - 複数条件の効率的な処理

次のレッスンでは、ループ処理(for、while)について学習します。

さらに学習を続けるには

素晴らしい学習ペースです!次のレッスンに進むには、無料会員登録をお願いします。無料会員では各コース3レッスンまで学習できます。

無料で続きを学ぶ

各コース3レッスンまで学習可能

学習進捗の自動保存

コース修了証明書の発行