Que tal bosh
do Bourne Shell POSIXified:
Ainda tem algumas extensões, mas elas estão bem documentadas:
É mais rápido que dash
e um pouco mais lento que ksh93
, o que faz dele o segundo shell mais rápido.
Observe que dash
não suporta caracteres de vários bytes e, portanto, é útil apenas para sistemas incorporados pequenos.
BTW: bosh
permite configurar bem o comportamento. O osh
compatível com o Solaris-10 é compilado da mesma origem que bosh
. Dê uma olhada em Makefile
. Quando eu tiver algum tempo, posso dar uma olhada se eu poderia criar um Makefile
pré-configurado para esse propósito.
Atualização: Durante os últimos dias, criei uma nova variante de compilação "bosh" e chamo de "pbosh". Ele será incluído no próximo instantâneo de schilytools que provavelmente será publicado em 29 de junho ou 2 de julho de 2018.
"pbosh" é um shell destinado a testar scripts de shell para portabilidade.
Ele não implementa extensões no POSIX e, portanto, falharia no caso de que um recurso de shell além do padrão POSIX é usado.
Tenha em mente que um script que funciona com "pbosh" ainda pode falhar com outros shells como POSIX tem algumas características não especificadas. Um exemplo é a maneira como os pipelines são criados. "pbosh" implementa o método otimizado e, além disso, executa o programa mais à direita de um cano dentro da casca processo no caso em que este é um shell embutido. Como resultado, é mais provável que todos os pipes que funcionam com "pbosh", também funcionarão com "ksh93", mas ainda assim pode falhar com, e. "bash".
Se você gosta de verificar se o seu script é portátil para o SVr4 Bourne Shell como presente em p. Solaris 10, recomenda-se verificar se também roda com outra variante de compilação "bosh" de schilytools chamada "osh". Esta é uma versão portátil do Bourne Shell Solaris 10 SVr5.
Nota: para tornar o "pbosh" mais útil, os alias persistentes não são desativado por padrão. Você pode testar seus scripts com outros shells em Além disso, edite o Makefile e comente as linhas com:
CPPOPTS += -DDO_GLOBALALIASES # Include persistent aliases in ~/.globals
CPPOPTS += -DDO_LOCALALIASES # Include persistent aliases in .locals
Em seguida, chame "make clean all" para recompilar "pbosh" com aliases persistentes desativado.