「シェルスクリプトの基礎 - 入出力」の版間の差分

📢 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>
===== 入力したキーの内容を表示 =====
入力したキーの内容を変数DATAへ格納し、その内容を表示させる。<br>
<br>
<br>
readでキー入力を読み込んだ後は、そのまま処理が継続する。<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>
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>
入力した内容によって処理を繰り返したい場合は、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><br>
<br>
 
==== readコマンドのオプション ====
== readのオプション ==
readコマンドには複数のオプションがあるが、下表によく使用するオプションを記載する。<br>
readには複数のオプションがあるが、下表によく使用するオプションを記載する。<br>
<center>
<center>
'''表. readのオプション'''<br>
{| 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__
[[カテゴリ:シェルスクリプト]]
[[カテゴリ:シェルスクリプト]]