Comentando várias linhas em scripts bash

Publicado por Eris Ribeiro Jr em 22/05/2015

[ Hits: 17.485 ]

 


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

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:
Outras dicas deste autor

Removendo kernels antigos do Ubuntu, Linux mint e derivados pelo terminal

Teamviewer no CentOS, openSUSE e Ubuntu

Microsoft Visual Studio Code no GNU/Linux

Descubra se um pacote de software existe nos repositórios de sua distribuição

Unix Toolbox e Rosetta Stone for Unix

Leitura recomendada

Solução IM para seu Cyber Cafe

Shell Script para colorir seus scripts

grep - Binary file XXX matches [Resolvido]

Todos os logs com o multitail

Instalando Firefox Quantum no Deepin OS

  

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



Contribuir com comentário