bash쉘에서 다음의 에러가 나면,

unary operator expected

 

타입을 의심하라!!!!

 

문자를 숫자에 비교하거나 그럴때 나는 것이다.

m=1
while [ $m -lt ${#projects[@]} ]
do
    echo $m;
    echo "$projects[$m] ..............."
    set properties = `grep -h 'real.ConnectionURL' /$projects[$m]/src/conf/*.properties | sed 's/real.ConnectionURL=jdbc://g' | paste -s -d' ' | tr '?' '-'`
    echo $properties
    m=`expr $m + 1`
done

 

bash는 반드시 expr를 써줘야 한다.

그렇지 않으면 문자로 인식하여...

unary operator expected  라는 에러가 난다.

 

csh과 bash은 너무 달라.

 

 

Posted by '김용환'
,