📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
細 Wiki がページ「シェルスクリプトの基礎 - キーボードからの入力」を「シェルスクリプトの基礎 - 入力」に、リダイレクトを残さずに移動しました |
編集の要約なし |
||
| 3行目: | 3行目: | ||
<br><br> | <br><br> | ||
== | == 入力 == | ||
readコマンドを使用することで、キーボードから入力した内容を変数に格納することができる。<br> | readコマンドを使用することで、キーボードから入力した内容を変数に格納することができる。<br> | ||
<source lang="sh"> | <source lang="sh"> | ||
read 変数名 | read 変数名 | ||
</source> | </source> | ||
<br> | <br> | ||
==== 入力データの表示 ==== | |||
以下の例では、キーボードで入力したデータを変数<code>DATA</code>へ格納し、その内容を表示させている。<br> | |||
<br> | |||
<code>read</code>コマンドで入力データを読み込んだ後は、そのまま処理が継続する。<br> | |||
これを利用することで、何かキー入力されるまで処理を停止させることができる。<br> | これを利用することで、何かキー入力されるまで処理を停止させることができる。<br> | ||
<source lang="sh"> | <source lang="sh"> | ||
| 37行目: | 36行目: | ||
</source> | </source> | ||
<br> | <br> | ||
==== | ==== 入力データと処理の分岐 ==== | ||
caseコマンドと組み合わせることで、入力されたキーの内容によって処理を分岐することができる。<br> | |||
<br> | <br> | ||
以下では、yキーを入力した場合はOK、nキーを入力した場合はNG、それ以外の場合はPush y or n key.と表示させる。<br> | 以下では、yキーを入力した場合はOK、nキーを入力した場合はNG、それ以外の場合はPush y or n key.と表示させる。<br> | ||
| 52行目: | 51行目: | ||
</source> | </source> | ||
<br> | <br> | ||
==== | ==== 入力データと反復処理 ==== | ||
入力した内容によって処理を繰り返したい場合は、whileコマンドと組み合わせる。<br> | |||
<br> | <br> | ||
以下のシェルスクリプトでは、<br> | 以下のシェルスクリプトでは、<br> | ||
| 76行目: | 75行目: | ||
</source> | </source> | ||
<br> | <br> | ||
==== | ==== 複数の入力データ ==== | ||
変数を複数用意することで複数の入力を受け付けることができる。<br> | 変数を複数用意することで複数の入力を受け付けることができる。<br> | ||
<br> | |||
以下のシェルスクリプトでは、変数DATA1、DATA2、DATA3という3つの変数を宣言しているので、<br> | 以下のシェルスクリプトでは、変数DATA1、DATA2、DATA3という3つの変数を宣言しているので、<br> | ||
スペース(タブでも可)で区切った3つの値を変数に格納することができる。<br> | スペース(タブでも可)で区切った3つの値を変数に格納することができる。<br> | ||
| 104行目: | 104行目: | ||
echo "Entered key: $DATA3" | echo "Entered key: $DATA3" | ||
</source> | </source> | ||
<br> | |||
==== readコマンドのオプション ==== | |||
== | readコマンドには複数のオプションがあるが、下表によく使用するオプションを記載する。<br> | ||
<center> | <center> | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| 127行目: | 125行目: | ||
|} | |} | ||
</center> | </center> | ||
<br><br> | |||
== 出力 == | |||
==== echoコマンド ==== | |||
echoコマンドで変数の値を出力する時は、以下のように、ダブルクォートで囲む必要がある。<br> | |||
<source lang="sh"> | |||
# 実行 | |||
$DATA="AAA BBB CCC" | |||
echo "$DATA" | |||
# 出力 | |||
AAA BBB CCC | |||
</source> | |||
<br> | |||
==== echoコマンドと文字の色 ==== | |||
<code>echo</code>コマンドにおいて、出力内容の色を変更するには、以下のように記述する。<br> | |||
<source lang="sh"> | |||
# 実行 | |||
error() | |||
{ | |||
echo -e "\033[31m$*\033[00m" | |||
} | |||
warn() | |||
{ | |||
echo -e "\033[33m$*\033[00m" | |||
} | |||
info() | |||
{ | |||
echo -e "\033[32m$*\033[00m" | |||
} | |||
</source> | |||
<br> | |||
# 出力 | |||
<span style="color:#C00000">error 'Error message'</span> | |||
<span style="color:yellow">warn 'Warning message'</span> | |||
<span style="color:green">info 'Information message'</span> | |||
</source> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:シェルスクリプト]] | [[カテゴリ:シェルスクリプト]] | ||