El siguiente código trata del método de ordenamiento quicksort en bash:
#!/bin/bash function quicksort { lista=$1 izq=$2 der=$3 i=$izq; j=$der; x=${lista[$[$[$izq + $der]/2]]} while [ $i -le $j ] ; do while [[ ${lista[$i]} -lt $x && $j -le $der ]] ; do i=$[$i+1] done while [[ $x -lt ${lista[$j]} && $j -gt $izq ]] ; do j=$[$j-1] done if [ $i -le $j ] ; then aus=${lista[$i]}; lista[$i]=${lista[$j]}; lista[$j]=$aus; i=$[$i+1]; j=$[$j-1] fi done if [ $izq -lt $j ] ; then quicksort $lista $izq $j fi if [ $i -lt $der ] ; then quicksort $lista $i $der fi } lista=(5 4 3 2 1) quicksort $lista 0 $[${#lista[@]}-1] for i in ${lista[@]};do echo $i; done