shopt -s extglob é específico do bash ( shopt sozinho é específico do bash, bash é o único shell que possui dois conjuntos de opções)
A opção extglob em bash ativa o suporte para os globs estendidos do ksh. Não é necessário em ksh, mas note que em ksh esses globs não são reconhecidos quando usados em variáveis.
printf -v é uma extensão bash . Não é suportado e não é necessário em ksh93 porque lá, a substituição de comando não bifurca um subshell. Então, ao invés de:
printf -v var ...
use
var=$(printf ...)
ou em ksh93:
var=${ printf ...;}
se argumentos para printf devem fazer alterações no ambiente (como em ${foo=bar} ou $((n++)) )
.
(embora note que ele remove caracteres de nova linha).
Observe também que o ksh93 suporta aritmética de ponto flutuante, ao contrário de bash , então você não precisa recorrer a esse tipo de hack.
Além disso, não consigo ver nada que explique a mensagem de erro que você está recebendo.