Scripting de shell POSIX e ajuste de desempenho [fechado]

2

Hoje em dia, estou pesquisando para ajuste de desempenho para scripts de shell, e eu tenho sido impedido de scripts shell POSIX, no entanto, é apenas um padrão, mas eu acho que é rathar do que padrão para fazê-lo. Ele foi personalizado, foi ajustado e, finalmente, ganhou alto desempenho. Eu acho que você pode me ajudar / criar um thread para ajudar no shell script do POSIX. Minhas perguntas são:

  1. O shell script do POSIX possui alto desempenho relacionado a outras programações de shell?
  2. Como posso migrar para o shell script do POSIX?
  3. Não é possível descobrir meu código apenas para POSIX?
  4. Se você preferir alto desempenho sem POSIX, pode ilustrá-lo?
por PersianGulf 26.05.2015 / 22:33

1 resposta

5

O problema

É comum que os alunos tenham problemas de portabilidade com seus scripts quando fazem seu desenvolvimento inicial em sistemas que usam o bash, por exemplo, como / bin / sh. Embora o bash suporte todas as funcionalidades no padrão POSIX, ele também suporta uma ampla gama de funcionalidades estendidas que não são definidas pelo POSIX. Quando um script é escrito para usar tais 'bashisms', não é garantido que ele seja executado corretamente quando o / bin / sh for algum outro shell compatível com POSIX. Em nice.harvard.edu, que é um sistema Ubuntu, o / bin / sh é dash, um shell que roda muito mais rápido que o bash, mas não suporta funcionalidade além daquela especificada pelo padrão POSIX. Alunos que usaram 'bashisms' em seus scripts descobrem, freqüentemente no último minuto, que seus scripts não serão executados sob / bin / sh em nice.

A solução

Aqui estão algumas dicas para ajudar você a evitar esses problemas:

  • sempre desenvolva scripts em nice com / bin / sh se possível
  • instale um shell POSIX estrito (como traço) em seu sistema pessoal para fins de desenvolvimento
  • use apenas a funcionalidade especificada aqui quando desenvolvimento de scripts de shell
  • veja este documento para obter dicas sobre Reconhecendo e substituindo "bashisms"
  • veja a documentação completa para autoconf ('info autoconf.info'), que tem um bom seção sobre Programação 'Shell Portátil'

Consulte este para obter mais informações.

    
por 26.05.2015 / 23:02