📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 6行目: | 6行目: | ||
== for文の基本 == | == for文の基本 == | ||
変数iに1から5までの数字を指定して、変数に代入された値をechoで表示させるというサンプルコードを以下に記述する。<br> | 変数iに1から5までの数字を指定して、変数に代入された値をechoで表示させるというサンプルコードを以下に記述する。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 76行目: | 76行目: | ||
リストの指定方法を以下に記載する。<br> | リストの指定方法を以下に記載する。<br> | ||
<br> | <br> | ||
==== コマンドの実行結果の使用 ==== | |||
リスト部分には、コマンドの実行結果を値として使用でき、その場合は、コマンドをバッククォート(`)で囲む必要がある。<br> | リスト部分には、コマンドの実行結果を値として使用でき、その場合は、コマンドをバッククォート(`)で囲む必要がある。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 85行目: | 85行目: | ||
echo $file | echo $file | ||
done | done | ||
# 出力 | # 出力 | ||
/var/log/messages | /var/log/messages | ||
| 93行目: | 92行目: | ||
/var/log/messages-20170702 | /var/log/messages-20170702 | ||
/var/log/messages-20170710 | /var/log/messages-20170710 | ||
</syntaxhighlight> | |||
<br> | <br> | ||
また、<span style="color:#C00000"><u>'''bashの場合'''</u></span>は、$()も使用できる。<br> | また、<span style="color:#C00000"><u>'''bashの場合'''</u></span>は、$()も使用できる。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 102行目: | 102行目: | ||
echo $file | echo $file | ||
done | done | ||
</ | </syntaxhighlight> | ||
<br> | |||
==== <code>seq</code>コマンドの使用 ==== | |||
<code>seq</code>コマンドは、指定した開始の数値から終わりの数値までを表示するというコマンドで、繰り返す回数を指定することができる。<br> | |||
例えば、1から5までをリストとして指定する場合は、<code>seq 1 5</code>と指定する。<br> | |||
<br> | <br> | ||
また、開始が1からの場合は、開始の数値を省略することもできる。<br> | また、開始が1からの場合は、開始の数値を省略することもできる。<br> | ||
<code>seq 1 5</code><br> | |||
または<br> | |||
<code>seq 5</code><br> | |||
または<br> | |||
<code>seq 1 1 5</code><br> | |||
<br> | <br> | ||
seqコマンドを使用して、1から5までを範囲指定して、ファイルを作成するというスクリプトを記述する。<br> | seqコマンドを使用して、1から5までを範囲指定して、ファイルを作成するというスクリプトを記述する。<br> | ||
file_1からfile_5までのファイルが作成される。<br> | file_1からfile_5までのファイルが作成される。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 124行目: | 124行目: | ||
touch file_$data | touch file_$data | ||
done | done | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
また、wオプションを使用して、ゼロパディングすることもできる。<br> | また、wオプションを使用して、ゼロパディングすることもできる。<br> | ||
| 130行目: | 130行目: | ||
seq -w 1 10 | seq -w 1 10 | ||
<br> | <br> | ||
==== ブレーズ展開 ==== | |||
<span style="color:#C00000"><u>'''bashの場合'''</u></span>、ブレーズ展開機能を使用してリストを指定することもできる。<br> | <span style="color:#C00000"><u>'''bashの場合'''</u></span>、ブレーズ展開機能を使用してリストを指定することもできる。<br> | ||
ブレーズ展開は、{開始..最後}といった形式で指定することで、簡単に範囲を指定することができる。<br> | ブレーズ展開は、{開始..最後}といった形式で指定することで、簡単に範囲を指定することができる。<br> | ||
<br> | <br> | ||
例えば、{1..5}で1から5を指定する場合、以下のように記述する。<br> | 例えば、{1..5}で1から5を指定する場合、以下のように記述する。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 142行目: | 142行目: | ||
echo $i | echo $i | ||
done | done | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
==== 算術式の使用 ==== | |||
<span style="color:#C00000"><u>'''bashの場合'''</u></span>、以下のように、1から5までを指定することもできる。<br> | <span style="color:#C00000"><u>'''bashの場合'''</u></span>、以下のように、1から5までを指定することもできる。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 153行目: | 153行目: | ||
echo $i | echo $i | ||
done | done | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
==== ファイルの読み込み ==== | |||
事前にリストに読み込ませるファイルを作成しておき、catコマンド等でファイルの中身を読み込むという方法ある。<br> | 事前にリストに読み込ませるファイルを作成しておき、catコマンド等でファイルの中身を読み込むという方法ある。<br> | ||
list.txtファイルを事前に作成して、catコマンドでファイルの中身を読み込む。<br> | list.txtファイルを事前に作成して、catコマンドでファイルの中身を読み込む。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 165行目: | 165行目: | ||
echo $i | echo $i | ||
done | done | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
==== コマンドライン引数の使用 ==== | |||
リスト部分に"@$"を使用すると、シェルスクリプトを実行する際の引数を、リストの値にすることができる。<br> | リスト部分に"@$"を使用すると、シェルスクリプトを実行する際の引数を、リストの値にすることができる。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 176行目: | 176行目: | ||
echo $i | echo $i | ||
done | done | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
==== 配列変数の使用 ==== | |||
配列を使用してリストを指定することもできる。<br> | 配列を使用してリストを指定することもできる。<br> | ||
配列arrayに1から5を設定して、それをリスト部分で呼び出す。<br> | 配列arrayに1から5を設定して、それをリスト部分で呼び出す。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/bash | #!/bin/bash | ||
| 189行目: | 189行目: | ||
echo $i | echo $i | ||
done | done | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||