Pular para o conteúdo

Comentários em blocos em Shell Script

Dica publicada em Shell Script / Avançado
Slackjeff slackjeff
Hits: 19.578 Categoria: Shell Script Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

Comentários em blocos em Shell Script

Em muitas linguagens de programação conseguimos fazer comentários em blocos, são uma mão na roda na hora de precisar detalhar melhor o que um determinado trecho de código faz...

Em Shell, não é possível criar um comentário em bloco, mas com um pouco da boa e velha gambiarra, É POSSÍVEL!

Uma nota importante! Tome cuidado para não encher seus programas com comentários em blocos, afinal eles são interpretados, mas não são enviados para o STDOUT, capiche? Assim, seu programa ficará um pouco mais pesado! Use com consciência.

As duas formas que eu mais utilizo são:

A primeira forma

Eu crio um HERE DOCUMENT não redirecionando para nenhum comando, ou seja, o Shell VAI INTERPRETAR o nosso HERE DOCUMENT, mas não irá enviar para saída padrão (STDOUT).
<<COMENTARIO_EM_BLOCO

Aqui é um comentário em bloco!
note que o shell irá interpretar mas vai ficar confuso e não irá
saber para onde redirecionar a saída!

COMENTARIO_EM_BLOCO

A segunda forma

Não tão conhecido existe um comando que não fede e não cheira, ele é o não famoso ' : ', é um built-in falso, e tem um status de saída sendo SEMPRE '0' ou verdadeiro.

Se usado de forma convencional, na linha de comando por exemplo, não irá acontecer nada, como mencionado ele não fede e não cheira, mas se eu passar um argumento encapsulado Simples ou Duplo, o Shell irá interpretá-lo mas não saberá o que fazer, ou seja, o negócio fica invisível: "Nada de STDOUT SHELL!".

Uma nota importante: entre o : e o encapsulamento simples/duplo é obrigatório conter um espaço.
: '
Isto aqui é um comentário em bloco
Chame toda molecada que hoje tem festa
na laje!
'

É isso galerinha sinistra, essa foi minha dica, mais uma vez repito, use com consciência! Tudo isso aqui é "lido" pelo Shell, e seus programas podem ficar mais "ronaldos", ops pesados da vida.

Variáveis em bash

Proteja seu GNU/Linux de maneira correta!

Qual é a diferença entre Unix e Linux

Curso Grátis de Dialog [vídeo]

Erro: 'locale: Cannot Set LC_ALL' no Slackware [Resolvido]

openSUSE - Carregando Script do IPtables no Boot

Bloquear servidor por falta de pagamento

Adicionando serviço ao ntsysv no Red Hat 9

Leitura da memória em tempo real

Limpando a fila do queue

#1 Comentário enviado por Mashn em 18/06/2018 - 21:50h
Muito bom como sempre, Jeff. Esse ':' tem alguma outra função?
#2 Comentário enviado por antoniojose12 em 19/06/2018 - 02:12h
show
#4 Comentário enviado por mario bugre em 28/09/2021 - 10:22h
: " comentario no bash e no sh com \' (aspas simples) e \" (duplas) escapando com barra invertida. "

# sed 7,12s/^/#/g script.sh
<<comentario-em-bloco
Eu crio um HERE DOCUMENT '<<' não redirecionando para nenhum comando,
ou seja, o Shell VAI INTERPRETAR o nosso HERE DOCUMENT,
mas não irá enviar para saída padrão (STDOUT).
comentario-em-bloco

#<<comentario-em-bloco
# (obs. esste tipo so funfa no terminal)
#: ' para este comentário em bloco
#coloque : ' " (dois-pontos+espaco+aspas(simples ou dupla)
#seu texto comentado e feche com, espaco+aspas(repita a que iniciar) '
#comentario-em-bloco

Contribuir com comentário

Entre na sua conta para comentar.