MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
シェルスクリプトの基礎 - 繰り返し文のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
シェルスクリプトの基礎 - 繰り返し文
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == 繰り返し文は、変数にリストで指定した値を順番に代入し、その度にdoからdoneまでの処理を実行し、<br> リストの値を全てを代入し処理が完了したら繰り返しは終了となる。<br> <br><br> == シェルスクリプトの例 == 変数iに1から5までの数字を指定して、変数に代入された値をechoで表示させるというサンプルコードを以下に記述する。<br> <source lang="sh"> #!/bin/bash for i in 1 2 3 4 5 do echo $i done </source> <br> # 出力 1 2 3 4 5 <br><br> == リストの指定 == リストの指定方法を以下に記載する。<br> <br> ===== コマンドの実行結果の使用 ===== リスト部分には、コマンドの実行結果を値として使用でき、その場合は、コマンドをバッククォート(`)で囲む必要がある。<br> <source lang="sh"> #!/bin/bash for file in `ls /var/log/messages*` do echo $file done </source> <br> # 出力 /var/log/messages /var/log/messages-20170618 /var/log/messages-20170626 /var/log/messages-20170702 /var/log/messages-20170710 <br> また、bashの場合は$()も使用できる。<br> <source lang="sh"> #!/bin/bash for file in $(ls /var/log/messages*) do echo $file done </source> <br> ===== seqコマンドの使用 ===== seqコマンドは、指定した開始の数値から終わりの数値までを表示するというコマンドで、繰り返す回数を指定することができる。<br> 例えば、1から5までをリストとして指定する場合は、seq 1 5と指定する。<br> また、開始が1からの場合は、開始の数値を省略することもできる。<br> seq 1 5 または seq 5 または seq 1 1 5 <br> seqコマンドを使用して、1から5までを範囲指定して、ファイルを作成するというスクリプトを記述する。<br> file_1からfile_5までのファイルが作成される。<br> <source lang="sh"> #!/bin/bash for data in `seq 5` do touch file_$data done </source> <br> また、wオプションを使用して、ゼロパディングすることもできる。<br> # 01から10までを出力する seq -w 1 10 <br> ===== ブレーズ展開 ===== bashの場合、ブレーズ展開機能を使用してリストを指定することもできる。<br> ブレーズ展開は、{開始..最後}といった形式で指定することで、簡単に範囲を指定することができる。<br> <br> 例えば、{1..5}で1から5を指定する場合、以下のように記述する。<br> <source lang="sh"> #!/bin/bash for i in {1..5} do echo $i done </source> <br> ===== 算術式の使用 ===== bashの場合、以下のように、1から5までを指定することもできる。<br> <source lang="sh"> #!/bin/bash for ((i=1; i<6; i++)) do echo $i done </source> <br> ===== ファイルの読み込み ===== 事前にリストに読み込ませるファイルを作成しておき、catコマンド等でファイルの中身を読み込むという方法ある。<br> list.txtファイルを事前に作成して、catコマンドでファイルの中身を読み込む。<br> <source lang="sh"> #!/bin/bash for i in `cat list.txt` do echo $i done </source> <br> ===== コマンドライン引数の使用 ===== リスト部分に"@$"を使用すると、シェルスクリプトを実行する際の引数を、リストの値にすることができる。<br> <source lang="sh"> #!/bin/bash for i in "$@" do echo $i done </source> <br> ===== 配列変数の使用 ===== 配列を使用してリストを指定することもできる。<br> 配列arrayに1から5を設定して、それをリスト部分で呼び出す。<br> <source lang="sh"> #!/bin/bash array=(1 2 3 4 5) for i in ${array[@]} do echo $i done </source> <br><br> __FORCETOC__ [[カテゴリ:シェルスクリプト]]
シェルスクリプトの基礎 - 繰り返し文
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse