Existem convenções de nomenclatura para variáveis ​​em scripts de shell?

Existem convenções de nomenclatura para variáveis ​​em scripts de shell?

A maioria das linguagens possui convenções de nomenclatura para variáveis, o estilo mais comum que vejo em scripts de shell é MY_VARIABLE=foo. Esta é a convenção ou é apenas para variáveis ​​globais? E quanto às variáveis ​​locais do script?

Responder1

Variáveis ​​de ambiente ou variáveis ​​de shell introduzidas pelo sistema operacional, scripts de inicialização do shell ou pelo próprio shell, etc., geralmente estão todas em CAPITALS1 .

Para evitar que suas variáveis ​​entrem em conflito com essas variáveis, é uma boa prática usar lower_casenomes de variáveis.


1 Uma exceção notável que vale a pena conhecer é o patharray, usado pelo zshshell. É o mesmo que a PATHvariável comum, mas representada como uma matriz.

Responder2

Sim, existem convenções completas de estilo de código para bash, incluindo nomes de variáveis. Por exemplo, aqui está o GoogleGuia de estilo de concha.

Como um resumo especificamente dos nomes das variáveis:

Nomes de variáveis: Minúsculas, com sublinhados para separar palavras. Ex:my_variable_name

ConstanteseNomes de variáveis ​​de ambiente: Todas as letras maiúsculas, separadas por sublinhados, declaradas no topo do arquivo. Ex:MY_CONSTANT

Responder3

Sublinhados para separar palavras parecem ser a melhor opção.
Tenho alguns motivos para preferir o snake_case ao camelCase quando posso escolher:

  1. Flexível: Você pode usar letras maiúsculas e minúsculas (por exemplo, MY_CONSTANTe my_variable);
  2. Consistente: Os dígitos podem ser separados para tornar o número mais legível (por exemplo, 1_000_000_000) e este recurso é suportado em muitas linguagens de programação;
  3. Comum: Comum no ponto em que a regex \wlida com sublinhados como caracteres de palavras e números ( [a-zA-Z0-9_]).

informação relacionada