[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Comentário em Bloco
From: |
MrBiTs |
Subject: |
Re: [shell-script] Re: Comentário em Bloco |
Date: |
Wed, 02 Nov 2011 07:58:16 -0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Salve, salve
> analisando bem o seu problema devo dizer uma coisa: comentarios em bash que
> não sejam feitos com o caracter # inicial podem ser
> perigosos.
Poucas vezes na vida vejo afirmações tão corretas assim.
> e outras alternativas como colocar dentro de uma grande "string" ou
> subfuncao esbarram no problema do delimitador. se vc
> quiser colocar aspas ou um } sozinho pode gerar um erro de parsing do script.
> desnecessário, uma vez que é um comentário.
Não deve ser nada difícil, claro, mudar um pouco o parser do bash para que ele
reconheça /* e */ (por exemplo) como delimitadores
de comentários. Podemos até pegar o próprio código do parser do gcc e espetá-lo
por ali.
> A unica forma segura de não ter surpresa com comentarios é iniciando com # e
> editores de texto modernos podem inserir isso
> automagicamente se for o caso (deve ter algum atalho do vim que faça isso,
> por exemplo).
Você até pode trabalhar com uma macro do vim, usando C-R para cópia de bloco e
uns comandos para inserir o que você quer, mas acho
que a maneira mais fácil seria assim:
- - Para marcar o bloco como comentário:
:LINHA_INICIAL,LINHAFINALs/^/#
- - Para remover as marcas de comentário do bloco:
:LINHA_INICIAL,LINHA_FINALs/#/
Se não sabe quais são as linhas, use :set nu e os seus números aparecerão.
Ainda podemos usar um SHIFT-V ou CTRL-V para entrar em "VISUAL MODE" do vim e
marcar o bloco. Uma vez marcado, usamos um comando
assim:
:'<,'>s/^/#
Os sinais antes do s são inseridos automaticamente pelo vim quando estamos em
visual mode. Isso evita a necessidade de digitar
faixa de linhas.
>
> Uma reflexão:
Eu realmente não sei. Essas coisas todas, quando trazidas para shell-script, me
parecem gambiarra demais. O : ' ou os HERE DOC são
absolutamente exploráveis porque o parser, no final das contas, sabe trabalhar
com isso de uma maneira diferente da qual ele
trabalha quando encontra # na linha. Ou segue-se pelo caminho da mudança do
parser no código-fonte ou usa-se recursos de editor.
Todos os editores modernos possuem isso, de uma maneira ou de outra.
- --
LLAP
.0. MrBiTs - address@hidden
..0 GnuPG -
http://keyserver.fug.com.br:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAEBCAAGBQJOsRQzAAoJEG7IGPwrPKWrp48H/0pZ24eLYi8hBB9ZpYbTcdR5
qq6AytW4KzISJQPjzA8axJhzSTND/rqbCc7hTHH34rxpkmJU+BKkIiO6zSaVlXu9
S3JvMkIjEQvL8vvYaKxnr35qJzJDRWDpjb+qme3YJLj4qb5YSrBJquiNLV7zsASD
Is+zfcfnUy+UtcBAo/yGA1JkafPHZRf2bj9ztW7fhTUpcwksUUAOdXNox55oOMzC
Y6kLOaJFYPLwf+1rHPSSK9U4kOXPTGuqKhvDim3VPamziyPA0Hbz/H2aHss5D5h5
nlvS3icSnsG1DIjztW+KmT2OB//D4Z9OZgrresdWkP+5ZQlu3Xp3JFikRio1Rzw=
=SqxE
-----END PGP SIGNATURE-----