Использовать расширение параметра.
#!/bin/bash
declare -A expect=(
[1.5.0]=1.500
[1.5.1]=1.501
[1.4.7]=1.407
[1.4.10]=1.410
[1.4.24]=1.424
)
new_version() {
prefix=${1%%.*}
suffix=${1##*.}
middle=${1#*.}
middle=${middle%.*}
printf %s.%s%02d "$prefix" "$middle" "$suffix"
}
for old in "${!expect[@]}" ; do
new=$(new_version $old)
if [[ ${expect[$old]} == $new ]] ; then
echo ok
else
echo not ok: in: $old expect: ${expect[$old]} got: $new
fi
done