You can use a bubble algorithm to sort an array :
Descending order
numbers=(10 -29 33 67 -6 7 -10)
for (( i=0 ; i < ${#numbers[@]}; i++ ))
do
for (( j=0 ; j < ${#numbers[@]}; j++ ))
do
if [[ ${numbers[$j]} -lt ${numbers[$i]} ]]
then
tmp=${numbers[$i]}
numbers[$i]=${numbers[$j]}
numbers[$j]=${tmp}
fi
done
done
for n in "${numbers[@]}"
do
echo "$n"
done
Ascending order
numbers=(10 -29 33 67 -6 7 -10)
for (( i=0 ; i < ${#numbers[@]}; i++ ))
do
for (( j=0 ; j < ${#numbers[@]}; j++ ))
do
if [[ ${numbers[$j]} -gt ${numbers[$i]} ]]
then
tmp=${numbers[$i]}
numbers[$i]=${numbers[$j]}
numbers[$j]=${tmp}
fi
done
done
for n in "${numbers[@]}"
do
echo "$n"
done
Or you can cheat and use sort :
Descending order
for i in $( echo "10 -29 33 67 -6 7 -10" | tr ' ' '\n' | sort -nr )
do
echo $i
done
Ascending order
for i in $( echo "10 -29 33 67 -6 7 -10" | tr ' ' '\n' | sort -r )
do
echo $i
done
Hope it helps!