Pular para o conteúdo

Comentando várias linhas em scripts bash

Dica publicada em Shell Script / Miscelânea
Perfil removido removido
Hits: 32.364 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Comentando várias linhas em scripts bash

Comentar uma área do código para que não seja executada durante um teste, ou mesmo inserir uma descrição de várias linhas é algo útil em algumas ocasiões. Mas como fazer isto em scripts bash, sem necessitar inserir um caractere "#" em cada linha?

Procurando por algo para o bash semelhante ao /* */ usado no C e Java, encontrei as opções abaixo.

Opção 1

:<<'STRING-DELIMITADORA'
STRING-DELIMITADORA


Onde o conteúdo a ser comentado ficará ente ":<<'STRING-DELIMITADORA'" e "STRING-DELIMITADORA". Notem que o texto "STRING-DELIMITADORA", pode ser uma sequência de caracteres qualquer, desde que não exista outra exatamente igual nas linhas que pretende comentar.

Exemplo usando a string SCML (acrônimo para Shell, Comentário Muito Longo):

:<<'SCML'

Passagem padrão original de Lorem Ipsum, usada desde o século XVI.

"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

SCML
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Opção 2

: '

'


Exemplo:

: '


Dois pontos, espaço aspa simples.
Várias linhas de código ou comentários depois...
...
Feche com uma aspa simples, mas atenção para não existir no meio do código ou texto que pretende comentar outra aspa simples.
'

Observações:
  1. Isto funciona apenas no shell bash, não funcionará para scripts feitos para o CSH ou ZSH.
  2. As opções descritas acima, fazem na verdade uso do comando nulo (:), devendo ser usadas com cuidado. São mais úteis na fase de construção e teste, como para comentar rapidamente alguma parte do código ao fazer um teste. Porém, ao distribuir para uso em produção, é mais seguro comentar com o #, tarefa que pode ser agilizada com o auxílio do seu editor de texto favorito.

No Vim/Vi, por exemplo, pode-se inserir o "#" em um intervalo de linhas facilmente. No modo de comando (Esc + :):

linhainicial,linhafinals/^/#/g[ENTER]

Exemplo:

15,43s/^/#/g

Fonte:
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Compartilhando conexão no Mandriva One e superior via modo texto

Instalando Cinnamon no Ubuntu 18.04 LTS

Resolvendo travamentos sem desabilitar ACPI nos Notebooks HP/Compaq

Instalando o Google Chrome no Slackware 13.0 e 13.1

Vídeo-aulas sobre GNU/Linux - Meu novo canal

Clonezilla Live no pendrive ou HD externo

hwclock - Ajustando data e hora do hardware

MIDI, Timidity e Rosegarden no Kurumin: Solução definitiva

Wi-fi fica desconectando no Ubuntu 21.10 [Resolvido]

Adicionando cor ao comando echo

#1 Comentário enviado por edps em 22/05/2015 - 20:36h

Não é o site, mas é uma boa dica! rsrs
#2 Comentário enviado por AlvesUeliton em 26/05/2015 - 02:30h

@@ -0,1 +0,1 @@
-TITLE="Memories on TV"
+TITLE="MemoriesOnTV"
\

E isso tambem é script bash?
É utilizado no Site Playonlinux para destacar alterações no script.
As cores diferenciam:
- anterior em vermelho
+nova alteração em verde

Isto é genial!
#3 Comentário enviado por mario bugre em 28/09/2021 - 10:17h
: " 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.