shell for loop - Linux

Table of Contents

小弟新公司的伺服器大概是30年前HP的Unix系統

最近在寫shell時碰到一些for loop沒辦法執行的困擾


for abc in a b c
do
OOXX
done

這類的for loop他有支援


但是像

for ((int i=0;i++;i<100))
do
OOXX
done

這類的沒有辦法執行

所以在寫程式上遇到很多困難

想請問版上的高手有沒有解法

感激不盡

--

All Comments

Yuri avatarYuri2014-06-29
換個 shell 試試
Ingrid avatarIngrid2014-07-01
我們這科可能更改的權限
沒有
Edwina avatarEdwina2014-07-03
i=0
while [ $i -lt 100 ]
Barb Cronin avatarBarb Cronin2014-07-04
do
OOXX
i=`expr $i + 1`
done
Vanessa avatarVanessa2014-07-11
也可試試 for i in $(seq 1 100); do OOXX; done
Carolina Franco avatarCarolina Franco2014-07-14
或fo i in {1..100}; do
fo => for
Leila avatarLeila2014-07-16
並不是每個系統都有 seq
也不是每個 shell 都支援 {1..100}
Donna avatarDonna2014-07-21
我覺得上面那個 while 會是比較好的解法
Isla avatarIsla2014-07-25
不過 expr 那行因為每次都要執行外部的可執行檔
因此迴圈比較長的時候可能效率不太好
Lydia avatarLydia2014-07-27
可以考慮改用 $(( $i + 1 ))
Hazel avatarHazel2014-07-30
HP-UX預設應該是Bourne shell,不是BASH,有些語法
不相容
Liam avatarLiam2014-08-02
for i in `seq 100`