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

ナビゲーションに移動 検索に移動
5行目: 5行目:
== 入力 ==
== 入力 ==
readコマンドを使用することで、キーボードから入力した内容を変数に格納することができる。<br>
readコマンドを使用することで、キーボードから入力した内容を変数に格納することができる。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  read 変数名
  read 変数名
  </source>
  </syntaxhighlight>
<br>
<br>
==== 入力データの表示 ====
==== 入力データの表示 ====
14行目: 14行目:
<code>read</code>コマンドで入力データを読み込んだ後は、そのまま処理が継続する。<br>
<code>read</code>コマンドで入力データを読み込んだ後は、そのまま処理が継続する。<br>
これを利用することで、何かキー入力されるまで処理を停止させることができる。<br>
これを利用することで、何かキー入力されるまで処理を停止させることができる。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
21行目: 21行目:
  echo ""
  echo ""
  echo "Entered key: $DATA"
  echo "Entered key: $DATA"
  </source>
  </syntaxhighlight>
<br>
<br>
-pオプションを使用することで、こういう記述方法ができる。<br>
-pオプションを使用することで、こういう記述方法ができる。<br>
  <source lang="sh">
  <sousyntaxhighlightce lang="sh">
  read -p "表示する文" 変数名
  read -p "表示する文" 変数名
  </source>
  </syntaxhighlight>
<br>
<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
34行目: 34行目:
  echo ""
  echo ""
  echo "Entered key: $DATA"
  echo "Entered key: $DATA"
  </source>
  </syntaxhighlight>
<br>
<br>
==== 入力データと処理の分岐 ====
==== 入力データと処理の分岐 ====
40行目: 40行目:
<br>
<br>
以下では、yキーを入力した場合はOK、nキーを入力した場合はNG、それ以外の場合はPush y or n key.と表示させる。<br>
以下では、yキーを入力した場合はOK、nキーを入力した場合はNG、それ以外の場合はPush y or n key.と表示させる。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
49行目: 49行目:
     *)    echo "Push y or n key."
     *)    echo "Push y or n key."
  esac
  esac
  </source>
  </syntaxhighlight>
<br>
<br>
==== 入力データと反復処理 ====
==== 入力データと反復処理 ====
58行目: 58行目:
nキーを入力すると、End Repead.と表示してbreakにより繰り返し処理から抜ける。<br>
nキーを入力すると、End Repead.と表示してbreakにより繰り返し処理から抜ける。<br>
yキーまたはnキー以外が入力された場合、Input y or n keyと表示して、再度、Repeat ?(y/n):と表示して入力待ちとなる。<br>
yキーまたはnキー以外が入力された場合、Input y or n keyと表示して、再度、Repeat ?(y/n):と表示して入力待ちとなる。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
73行目: 73行目:
     fi
     fi
  done
  done
  </source>
  </syntaxhighlight>
<br>
<br>
==== 複数の入力データ ====
==== 複数の入力データ ====
80行目: 80行目:
以下のシェルスクリプトでは、変数DATA1、DATA2、DATA3という3つの変数を宣言しているので、<br>
以下のシェルスクリプトでは、変数DATA1、DATA2、DATA3という3つの変数を宣言しているので、<br>
スペース(タブでも可)で区切った3つの値を変数に格納することができる。<br>
スペース(タブでも可)で区切った3つの値を変数に格納することができる。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
88行目: 88行目:
  echo "Entered key: $DATA2"
  echo "Entered key: $DATA2"
  echo "Entered key: $DATA3"
  echo "Entered key: $DATA3"
  </source>
  </syntaxhighlight>
<br>
<br>
<span style="color:#C00000">
<span style="color:#C00000">
95行目: 95行目:
'''以下のシェルスクリプトでは、区切り文字をカンマ(,)に変更して実行している。'''<br>
'''以下のシェルスクリプトでは、区切り文字をカンマ(,)に変更して実行している。'''<br>
</span>
</span>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
103行目: 103行目:
  echo "Entered key: $DATA2"
  echo "Entered key: $DATA2"
  echo "Entered key: $DATA3"
  echo "Entered key: $DATA3"
  </source>
  </syntaxhighlight>
<br>
<br>
==== readコマンドのオプション ====
==== readコマンドのオプション ====

案内メニュー