Se você estiver familiarizado com C, C ++ ou Java, você encontrará essa variante do bash
-loop do for
bastante familiar. bash
faz avaliação aritmética com (( ... ))
, então usaremos isso quando compararmos valores:
array1=( 1 -2 3 -2 2 -4 )
array2=( -2 -3 4 5 2 -5 )
array3=( )
for (( i=0; i < ${#array1[@]}; ++i )); do
if (( array1[i] < 0 && array2[i] < 0 )); then
array3[$i]=0
elif (( array1[i] > 0 && array2[i] > 0 )); then
array3[$i]=1
else
array3[$i]=2
fi
done
echo "${array3[@]}"
Isso também funciona bem com o ksh93
shell, do qual bash
obteve muitos de seus recursos.