Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【シェルスクリプト】for文で1ずつ変化しない場合

過去記事

【シェルスクリプト】よく使うテンプレ的な何か - Bus errorとSegmentation faultに困ったら見るブログ

 

for文とかwhile文は↑を参照

 

これ以外にも

for*1
do
echo $i
done

という書き方のfor文がある。

 

これの最後の1周ごとに行う処理を i+5 とかに変えてみる

しかしこのまま変えてもうまくいかず無限ループになってしまう(i+5が認識されないので)

しょうがないから i=`echo $i+5 | bc` とかで代用 (整数の計算はexprでも可)

もしかしてなんか別の書き方があるのかもしれないけど、動いたから良し。

 

5個ずつ増やしたいなら


for((i=0; i<100; i=$(( i + 5 ))))
echo $i
done

でおk

 

*1:i=1 ; i < 11 ; i++