lunes, 2 de enero de 2017

Sangría y continuación de líneas

Cuando empleamos comandos largos, la legibilidad puede mejorarse separando el comando en varias líneas. En el capítulo 17, vimos un ejemplo particularmente largo del comando find:

[me@linuxbox ~]$ find playground \( -type f -not -perm 0600 -exec chmod 0600 ‘{}’ ‘;’ \) -or \( -type d -not -perm 0700 -exec chmod 0700 ‘{}’ ‘;’ \)

Obviamente, este comando es un poco complicado de descifrar a primera vista. En un script, este comando podría ser más fácil de comprender si está escrito de esta forma:

find playground \
    \( \
        -type f \
        -not -perm 0600 \
        -exec chmod 0600 ‘{}’ ‘;’ \
    \) \
    -or \
    \( \
        -type d \
        -not -perm 0700 \
        -exec chmod 0700 ‘{}’ ‘;’ \
    \)

Usando continuaciones de línea (secuencias de barra invertida-salto de línea) y sangría, la lógica de este comando complejo se describe más claramente para el lector. Esta técnica también funciona en la línea de comandos, aunque raramente se utiliza, ya que es muy incómodo de escribir y editar. Una diferencia entre un script y la línea de comandos es que el script puede emplear caracteres de tabulación para lograr la sangría, mientras que la línea de comandos no puede, ya que el tabulador se usa para activar el completado.

No hay comentarios:

Publicar un comentario