Qual é um bom exemplo de um script bash para estudar para aprender boas convenções de codificação?


12

Eu aprendi o básico de programação no bash. Gostaria de estudar alguns exemplos de scripts do bash para que eu possa aprender bons hábitos para o script do bash.

Em particular, estou interessado em exemplos de scripts bash que mostram:

  • como processar argumentos e acionar funcionalidade condicional
  • como verificar se há erros de entrada
  • como executar a conclusão do comando
  • como organizar um script bash em funções, comandos e assim por diante
  • como apresentar mensagens de ajuda

Por exemplo, aprendi muito com o autorandr no github . Existem outros scripts ou repositórios de scripts em que eu possa aprender sobre convenções de script bash?


1
Uma observação sobre o que não procurar: muitos scripts de inicialização do sistema empacotados pela maioria das distros /etcou onde estão cheias de práticas ruins de script de shell, portanto, você deve evitar usá-las como exemplos.
jw013

Não sei por que isso teve um
voto negativo

1
Existem convenções de codificação "boas" para o bash? Do meu ponto de vista, quando você usa o bash, geralmente está mais interessado em fazê-lo fazer o seu trabalho (extremamente limitado) da maneira mais eficiente e portável possível. Se você deseja um código elegante e limpo, use uma linguagem de programação real.
Shadur 13/10/11

@ Shadur: existem muitos idiomas, então todos estão certos em minimizar o uso deles, como escrever um aplicativo Gtk3 GUI usando bash puro e ligações do bash.
dotbit

Respostas:


6

Plugue sem vergonha, mas você pediu exemplos:

E se você quiser uma boa referência, use o Wiki de Greg . É um jardim legível de caos e beleza, com uma abordagem pragmática para fazer as coisas da melhor maneira. Apenas tenha muito, muito cuidado para investigar corretamente antes de perguntar qualquer coisa no #bash - eles podem ser ferozes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.