script pasar parametros espaƱol ejemplos comment comandos shell

pasar - Bloquear comentarios en un script de shell



shell script linux (10)

En Vim:

  1. Ve a la primera línea del bloque que quieres comentar.
  2. shift-V (ingrese al modo visual), hacia arriba, resalte las líneas en el bloque
  3. ejecute lo siguiente en la selección :s/^/#/
  4. el comando se verá así:

    :''<,''>s/^/#

  5. Presione enter

p.ej

shift-V jjj :s/^/# <enter>

¿Hay una forma sencilla de comentar un bloque de código en un script de shell?


En bash

#!/bin/bash echo before comment : <<''END'' bla bla blurfl END echo after comment

El '' y '' alrededor del delimitador END son importantes, de lo contrario, las cosas dentro del bloque como, por ejemplo, $(command) serán analizadas y ejecutadas.

Para una explicación, vea this y this pregunta.


Lo siguiente debería funcionar para sh , bash , ksh y zsh .

Los bloques de código que se deben comentar se pueden poner dentro de BEGINCOMMENT y ENDCOMMENT :

[ -z $BASH ] || shopt -s expand_aliases alias BEGINCOMMENT="if [ ]; then" alias ENDCOMMENT="fi" BEGINCOMMENT echo "This line appears in a commented block" echo "And this one too!" ENDCOMMENT echo "This is outside the commented block"

Ejecutar el código anterior resultaría en:

This is outside the commented block

Para descomentar los bloques de código así comentados, digamos

alias BEGINCOMMENT="if : ; then"

en lugar de

alias BEGINCOMMENT="if [ ]; then"

en el ejemplo anterior.


No hay comentarios de bloque en shell script.

Usando vi (sí, vi ) puede comentar fácilmente desde la línea n hasta la m

<ESC> :10,100s/^/#/

(que dice, desde la línea 10 a la línea de inicio de sustitución 100 (^) con un signo #).

y un comentario con

<ESC> :10,100s/^#//

(que dice, desde la línea 10 a la línea 100 sustituye el inicio (^) seguido de # con la nota //.)

vi es casi universal en cualquier lugar donde haya /bin/sh .


Otro modo es: si su editor NO TIENE BLOQUEO opción de comentario,

  1. Abra una segunda instancia del editor (por ejemplo, Archivo => Nuevo archivo ...)
  2. Desde EL archivo ANTERIOR en el que está trabajando, seleccione SOLO LA PARTE QUE DESEA COMENTAR
  3. Cópialo y pégalo en la ventana del nuevo archivo temporal ...
  4. Abra el menú Editar, seleccione REEMPLAZAR e ingrese como cadena a reemplazar ''/ n''
  5. ingrese como cadena de reemplazo: ''/ n #''
  6. presione el botón ''reemplazar TODOS''

HECHO

Funciona con cualquier editor


Podría usar el modo de bloque visual de Vi / Vim, que está diseñado para cosas como esta:

Ctrl-V Highlight first element in rows you want commented Shift-i # esc

Uncomment sería:

Ctrl-V Highlight #''s d l

Esta es la forma interactiva de vi de hacer este tipo de cosas en lugar de contar o leer números de línea.

Por último, en Gvim usas ctrl-q para entrar en el modo Visual Block en lugar de ctrl-v (porque ese es el atajo para pegar).


Puedes usar:

if [ 1 -eq 0 ]; then echo "The code that you want commented out goes here." echo "This echo statement will not be called." fi


Si puedes esquivar las comillas simples:

__='' blah blah comment. ''


Tanto manipulación excesiva ...

Considero realmente una mala práctica escribir código activo para generar código pasivo.

Mi solución: la mayoría de los editores tienen el modo de selección de bloque. Solo úselo para agregar # a todas las líneas que desee comentar. Cual es el problema...

Ejemplo de bloc de notas:

Para crear: Alt - mousedrag abajo, presione #.

Para eliminar: Alt-mousedrag abajo, flecha de desplazamiento hacia la derecha, eliminar.


Una variación del truco de here-doc en la respuesta aceptada por sunny256 es utilizar las palabras clave de Perl para comentarios. Si sus comentarios son en realidad algún tipo de documentación, entonces puede comenzar a usar la sintaxis de Perl dentro del bloque comentado, lo que le permite imprimirlo con un buen formato, convertirlo en una página de manual, etc.

En lo que respecta al shell, solo necesita reemplazar ''END'' por ''=cut'' .

echo "before comment" : <<''=cut'' =pod =head1 NAME podtest.sh - Example shell script with embedded POD documentation etc. =cut echo "after comment"

(Se encuentra en " Incrustación de documentación en shell script ")