bash for 문 에러.. 좀 봐주세요..

horangs의 이미지

리눅스 서버(bash 3.0)에서 스크립트를 간단히 짰습니다.

#!/usr/local/bin/bash

ARRAY=($@)
for ((i=0;i<${#ARRAY[*]};i++)); do
sudo /usr/bin/mv `pwd`/${ARRAY[$i]} `pwd`/${ARRAY[$i]}.false
done

근데 이게 솔라리스 (bash 2.03) 에서는 안되는데요...

line 4: syntax error near unexpected token `(('
line 4: `for ((i=0;i<${#ARRAY[*]};i++)); do'

어떻게 하면 될까요??

bushi의 이미지

[bushi@rose supports]$ for i in `seq 1 3`; do let j=i-1; echo "($j)"; done
(0)
(1)
(2)
[bushi@rose supports]$

선댓글 후감상을 했더니 좀 부족했습니다.
생각을 바꿔보시죠.

while [ -n "${1}" ];
do
   arg="${1}"
   shift
   mv xxx/"${arg}" xxx/"${arg}".false
done

OTL