Comentários em blocos em Shell Script

Publicado por Slackjeff em 18/06/2018

[ Hits: 16.491 ]

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

Curso Grátis de Dialog [vídeo]

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

xsession: Warning: unable to write to /tmp [Resolvido]

Verificando a versão do Slackware

Curiosidade sobre o comando "cal" e setembro de 1752

Leitura recomendada

Eliminando todos os processos de determinada variável

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

Como criar um cronômetro em modo texto

Kernel for Newbies - Fácil Assistente de Compilação do Kernel

Gerenciador de Favoritos via linha de comando

  

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