Qual é a melhor linguagem Shell Scripting (portátil e de fácil manutenção) atualmente?

StackOverflow https://stackoverflow.com/questions/881757

  •  22-08-2019
  •  | 
  •  

Pergunta

Eu sei que esta pergunta deu início a guerras "religiosas" no passado e pode não haver uma resposta correta.Mas depois de trabalhar com ksh e csh nos últimos 3-4 anos e passar pela dor de migrar de um para outro ou aplicar uma lógica comum a múltiplas versões (leia-se como código legado), se estou escrevendo um novo script, eu iria para ksh, mas por compulsão e não por escolha.Existe uma opção melhor além de ksh/csh?Também algo que é portátil em Unixes (Solaris/HP/IBM/FreeBSD) e Linux (e se não estou pedindo muito ou se faz sentido para todos os sabores de Linux)

Aguardando sugestões...

Paz :) Devang Kamdar

Foi útil?

Solução

Eu sugeriria o velho sh, que está disponível em todos os lugares.

Além disso, vale a pena notar que a portabilidade envolve não apenas o shell, mas também outros comandos usados ​​em um script, como awk, grep, ps ou echo.

Outras dicas

Se você realmente quer que seja portátil (não sei se qualquer shell-script é sustentável), eu especificaria #!/Bin/sh e testou com traço e se possível, outras conchas.

Eu esperaria que o Bash fosse o spread mais amplo no momento, pois é o padrão para muitas distribuições do Linux (ele pode até funcionar no Windows com Cygwin, mas isso provavelmente também é verdade para as outras conchas). Uma alternativa pode ser não usar o próprio shell para scripts, mas uma das linguagens de script por aí como Perl, Python, Ruby, ...

Eu costumo usar ksh.Acho que é um bom compromisso entre recursos e portabilidade.Está lá (ou uma versão compatível está disponível) na maioria das máquinas Linux e Solaris.Já faz um tempo que não uso o HP-UX (felizmente), mas tenho certeza de que ele também estava disponível lá.

Se todas as máquinas que você precisa suportar forem modernas, o bash pode ser uma opção.Solaris 10 vem com uma cópia.É o padrão na maioria das máquinas Linux.

Seu menor denominador comum será Bourne (sh), então vale a pena considerar se a portabilidade é sua principal preocupação.No entanto, estão faltando alguns dos recursos mais amigáveis ​​​​do ksh e do bash.

Ainda vale a pena evitar csh/tcsh para scripts. Programação Csh considerada prejudicial é antigo, mas ainda bastante relevante.

Minha resposta seria Perl.

Faz tudo 'sh' 'bash' etc. pode fazer de uma maneira mais agradável.

Também é realmente mais portátil. Uma determinada versão Perl é muito consistente, acréscimo todas as plataformas. Não há diferenças significativas entre as distribuições Linux, Solaris e AIX, enquanto a porção de scripts de concha entre essas plataformas é uma dor real.

E funciona em todas as formas do Windows! Desde que você evite backsticks e "System ()", seu script tem uma boa chance de correr.

Pitão! Confira o Ipython, que é um intérprete aprimorado do Python. Também: Python para administração do sistema UNIX e Linux.

Você pode escrever ótimos scripts portáteis, e é divertido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top