Comentários em blocos em Shell Script

Publicado por Slackjeff em 18/06/2018

[ Hits: 17.145 ]

Blog: https://slackjeff.com.br

 


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.

Outras dicas deste autor

Google Chrome no Slackware 14x

Dica para automatizar suas tarefas diárias [Iniciante]

Curso Grátis de Dialog [vídeo]

Webapps - o futuro começa aqui

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

Leitura recomendada

Kernel for Newbies - seu assistente de compilação do Kernel em 10 simples passos

Como criar e manter um mirror do Slackware em seu próprio micro

Receber e-mail quando o root logar via SSH

Fazendo backup ou cópia somente dos arquivos alterados no último dia

Redimensionando e renomeamento imagens em massa

  

Comentários
[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

[3] Comentário enviado por slackjeff em 19/06/2018 - 02:13h

Nenhuma que eu saiba... sei que o resultado é sempre 0 por isso é muito usado no while...
while :; do printf "É verdadeirooo"; done


[b]THE MAGIC SHELL PROGRAMMER.[/b]
[code]
Slackware user since ~2008
[b]Meu canal no youtube: [/b]
https://www.youtube.com/SlackJeff

[b]Meu Site:[/b]
[b]http://www.slackjeff.com.br/[/b]

[b]Meus Programas estão aqui:[/b]
https://notabug.org/jeffersonrocha

[b]Meu PODCAST:[/b]
http://podcast.slackjeff.com.br/
[/code]




[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

[5] Comentário enviado por mario bugre em 28/09/2021 - 10:26h


caro slackjeff seu https://notabug.org/jeffersonrocha, nao funfa em 2021.
youtube = OK , blog = OK , VOL = OK , entao vence a maioria.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts