El siguiente código trata del método de ordenamiento por inserción directa en bash:
#!/bin/bash
function inserciondirecta {
lista=$1
tam=${#lista[@]}
for i in $(seq 1 $[$tam-1]) ; do
v=${lista[$i]}
j=$[$i-1]
while [[ $j -ge 0 && ${lista[$j]} -gt $v ]] ; do
lista[$[$j+1]]=${lista[$j]}
j=$[$j-1]
done
lista[$[$j+1]]=$v
done
}
lista=(5 4 3 2 1)
inserciondirecta $lista
for i in ${lista[@]};do echo $i; done

Thanks for sharing. I read many of your blog posts, cool, your blog is very good.