使い方
シェルスクリプトで引数を一つずつ処理する。
for arg in "$@"; do
echo "$arg"
done
Code language: Bash (bash)
配列の要素を一つずつ処理する。
for elem in "${array[@]}"; do
echo "$elem"
done
Code language: Bash (bash)
配列のインデックスを使って処理する。
for i in "${!array[@]}"; do
edho "${array[$i]}"
done
Code language: Bash (bash)
参考:
for 文 – 繰り返し | server-memo.net
for 文の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス
How to iterate over arguments in a Bash script – Stack Overflow
指定した回数だけ繰り返す
for i in {1..10}; do
echo "loop $i"
done
Code language: Bash (bash)
参考:
How to Iterate For Loop Variable Range | nixCraft
Increment in loop by set amount – Stack Overflow
loop with counter in one line – Stack Overflow
seq コマンド
for i in $( seq 0 5 25 ); do
echo $i
done
Code language: Bash (bash)
参考:
Increment in loop by set amount – Stack Overflow
条件式を使う
for (( i= 0; i < 10; i++ )); do
echo $i
done
Code language: Bash (bash)
参考:
Increment in loop by set amount – Stack Overflow
ファイル名のリストを処理する
参考:
ファイル一覧ループのベストな書き方 | programwiz.org
break / continue
参考:
break と continue | ファイヤープロジェクト
continue – 次の繰り返しに移る | 日経クロステック
break / continue | unix.oskp.net
while read の while ループ脱出には break ではなく exit を利用する – Qiita
Break and Continue | Bash Guide for Beginners (tldp.org)
Loop Control | Advanced Bash-Scripting Guide (tldp.org)
How to break out of a loop? – Stack Overflow
How to skip to next element in a for loop? – Stack Overflow
リダイレクト
参考:
for ループ中の出力をまとめてファイルにリダイレクトする方法 | Linux Fan
IFS
一行ごとに区切って処理する。
IFS=$'\n'
for line in $(cat file.txt); do
echo "$line"
done
Code language: Bash (bash)
参考:
パスに空白がある場合を考慮する
参考: