📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
編集の要約なし |
|||
| 158行目: | 158行目: | ||
| 条件式1 -o 条件式2 || 条件式1か2のどちらかが真なら真(OR) | | 条件式1 -o 条件式2 || 条件式1か2のどちらかが真なら真(OR) | ||
|} | |} | ||
</center> | |||
<br><br> | |||
== case文 == | |||
===== 条件の指定について ===== | |||
条件の指定にはワイルドカードを使用することができる。<br> | |||
* すべての文字列にマッチ | |||
? 何か1文字にマッチ | |||
??? : 何か3文字の文字列にマッチ | |||
???* : 3文字以上の文字列にマッチ | |||
[ ] []に囲まれた文字や数字等のどれかにマッチ | |||
[! ] []囲まれていない文字や数字等のどれかにマッチするのにマッチ | |||
[ - ] 「-」で設定された範囲の文字や数字にマッチ | |||
'''注意''' | |||
OR条件を使用する場合は、条件1 | 条件2と指定することで、複数の条件をまとめて指定することができる。 | |||
*自体をマッチさせる場合は、\*、"*"、'*'とエスケープする。 | |||
?自体をマッチさせる場合は、\?、"?"、'?'とエスケープする。 | |||
'''使用例''' | |||
abc* : abcで始まる文字列にマッチ | |||
a*bc : aで始まり、bcで終わる文字列すべてにマッチ | |||
a?c : 最初が「a」で始まり最後が「c」で終わる3文字の文字列にマッチ | |||
[ ] : []に囲まれた文字や数字等のどれかにマッチ | |||
[Aa] : Aまたはaにマッチ | |||
[Aa][Bb] : AB、Ab、aB、abにマッチ | |||
[! ] : []に囲まれていない文字や数字等のどれかにマッチ | |||
[!Aa] : 「A」と「a」以外にマッチ | |||
[a-z] : アルファベットの小文字にマッチ | |||
[A-Z] : アルファベット大文字にマッチ | |||
[a-zA-Z] : アルファベットの小文字と大文字にマッチ | |||
[0-9] : 数字の0から9にマッチ | |||
ABC | abc : 「ABC」か「abc」のどちらかにマッチ | |||
<br> | |||
===== サンプルコード ===== | |||
入力したキーによって、アルファベット、数字、その他の判別を行いメッセージを表示するシェルスクリプトを記述する。<br> | |||
Tを入力すると、[a-zA-Z]の条件にマッチするので、Alphabet enteredと表示される。<br> | |||
0を入力すると、[0-9]の条件にマッチするので、Number enteredと表示される。<br> | |||
アルファベットや数字以外の文字を入力すると、*の条件にマッチするので、No alphabet or number enterdと表示される。<br> | |||
<source lang="sh"> | |||
#!/bin/bash | |||
echo 'Please input alphabet or number' | |||
read key | |||
case "$key" in | |||
[a-zA-Z]) echo 'Alphabet entered' ;; | |||
[0-9]) echo 'Number entered' ;; | |||
*) echo 'No alphabet or number enterd' ;; | |||
esac | |||
</source> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:シェルスクリプト]] | [[カテゴリ:シェルスクリプト]] | ||