O comando a seguir colocará o número do arquivo 'strengen' mais recente na variável $LATEST :
LATEST=$(/bin/ls -1t | grep '^strengen' | head -1 | sed -e 's/strengen.*=//')
Eu usei /bin/ls aqui, em vez de apenas ls , para eliminar qualquer alias que possa afetar a saída de ls -1 - ls é muito comumente com alias.
Observe também que a opção ls que estou usando é -1 (número um) e não -l (letra l ). Isso diz ls para listar um arquivo por linha. A opção -t informa ls para classificar por hora, mais recente primeiro.
Outra alternativa seria colocar algo como o seguinte na parte superior da sua função strenggen() :
[ -e "strengen?string=$1" ] && return
Isso fará com que a função retorne imediatamente sem fazer nada se o arquivo já existir.