シェルスクリプトにおける反復処理
[履歴] [最終更新] (2016/02/20 22:05:37)
ここは
趣味のプログラミングを楽しむための情報共有サービス。記事の一部は有料設定にして公開できます。 詳しくはこちらをクリック📝
最近の投稿
注目の記事

for

sample.sh

#!/bin/sh

for i in a b c; do
    echo $i
done

ARR=(
    "abc"
    "xyz"
)
for e in "${ARR[@]}"; do
    echo $e
done

実行例

$ ./sample.sh
a
b
c
abc
xyz

while

sample.sh

#!/bin/sh

cnt=1
while [ $cnt -lt 5 ]; do  # [] はtestコマンドの略記法であり「test $cnt -lt 3」としても同じ意味。
    echo $cnt
    cnt=`expr $cnt + 1`
done


while :   # ':'はpythonでのpassに相当するコマンド
do
    echo 'looping...'
    # break
done

実行例

$ ./sample.sh
1
2
3
4
looping...
looping...
...

ファイルを読み込む

in.txt

line1
line2

sample.sh

#!/bin/sh
while read line
do
  echo $line
done < in.txt

実行例

$ ./sample.sh
line1
line2

コマンドラインで実行する場面では以下のように一行で表現します。

$ while read line; do echo $line; done < in.txt
関連ページ
    コマンドのエイリアスを登録する (update-alternatives) mybin という名前のコマンドを登録 sudo update-alternatives --install /usr/local/bin/mybin mybin /usr/bin/echo 10 sudo update-alternatives --install /usr/local/bin/mybin mybin