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

ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
17行目: 17行目:
まず、IFSを設定せずに内容を抜き出せるか確認する。<br>
まず、IFSを設定せずに内容を抜き出せるか確認する。<br>
実行すると、初期設定では区切り文字にコロン(:)は設定されていないため、1行が全て変数USERに格納される。<br>
実行すると、初期設定では区切り文字にコロン(:)は設定されていないため、1行が全て変数USERに格納される。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
24行目: 24行目:
     echo "$USER $LOGINSHELL"
     echo "$USER $LOGINSHELL"
  done
  done
  </source>
  </syntaxhighlight>
<br>
<br>
  # 出力
  # 出力
39行目: 39行目:
ユーザ名とログインシェルを抜き出して表示する。<br>
ユーザ名とログインシェルを抜き出して表示する。<br>
最後に、変数OLDIFSを使用してIFSの設定を元に戻す。<br>
最後に、変数OLDIFSを使用してIFSの設定を元に戻す。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
51行目: 51行目:
   
   
  IFS=$OLDIFS
  IFS=$OLDIFS
  </source>
  </syntaxhighlight>
<br>
<br>
  # 出力
  # 出力
72行目: 72行目:
まず、IFSを初期設定のままで実行する。<br>
まず、IFSを初期設定のままで実行する。<br>
IFSの初期設定は、空白、タブ、改行となっているため、空白で区切られた文字が1文字ずつ変数iに格納されて、1文字ずつ表示する。<br>
IFSの初期設定は、空白、タブ、改行となっているため、空白で区切られた文字が1文字ずつ変数iに格納されて、1文字ずつ表示する。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
79行目: 79行目:
     echo $i
     echo $i
  done
  done
  </source>
  </syntaxhighlight>
<br>
<br>
  # 出力
  # 出力
94行目: 94行目:
次に、IFSの値を空に設定して実行する。<br>
次に、IFSの値を空に設定して実行する。<br>
区切り文字として空白が設定されていないため、1列全部が変数iに格納されて、1行ずつ表示する。<br>
区切り文字として空白が設定されていないため、1列全部が変数iに格納されて、1行ずつ表示する。<br>
  <source lang="sh">
  <syntaxhighlight lang="sh">
  #!/bin/bash
  #!/bin/bash
   
   
106行目: 106行目:
   
   
  IFS=$OLDIFS
  IFS=$OLDIFS
  </source>
  </syntaxhighlight>
<br>
<br>
  # 出力
  # 出力

案内メニュー