En este capítulo se documenta el estilo de código utilizado en los sistemas en vivo.
● No utilizar sintaxis o semántica que sea única para el intérprete de comandos Bash. Por ejemplo, el uso de arrays.
● Utilizar únicamente el subconjunto POSIX - por ejemplo, usar $(foo) en lugar de `foo`.
● Se puede comprobar las secuencias de comandos con 'sh -n' y 'checkbashisms'.
● Asegurarse de que el código funcione con 'set -e'.
● Utilizar siempre los tabuladores en lugar de espacios.
● En general, las líneas contienen 80 caracteres como máximo.
● Utilizar los saltos de línea al «estilo Linux»:
Mal:
if foo; then bar fi
Bien:
if foo then bar fi
● Lo mismo vale para las funciones:
Mal:
Foo () { bar }
Bien:
Foo () { bar }
● Las variables deben escribirse siempre en letras mayúsculas.
● Las variables que se utiliza en live-build siempre comienzan con el prefijo LB_
● Las variables temporales internas de live-build deben comenzar con el prefijo \_LB_
● Las variables locales comienzan con el prefijo live-build \_\_LB_
● Las variables en relación a un parámetro de arranque en live-config comienzan con LIVE_.
● Todas las demás variables de live-config comienzan con el prefijo _
● Utilizar llaves para las variables, por ejemplo, escribir ${FOO} en lugar de $FOO.
● Utilizar comillas dobles en las variables para evitar dejar espacios en blanco: Escribir “${FOO}” en lugar de ${FOO}.
● Por motivos de coherencia, se debe utilizar siempre comillas en la asignación de valores a las variables:
Mal:
FOO=bar
Bien:
FOO="bar"
● Si se utilizan múltiples variables, incluir la expresión completa entre comillas dobles:
Mal:
if [ -f "${FOO}"/foo/"${BAR}"/bar ] then foobar fi
Bien:
if [ -f "${FOO}/foo/${BAR}/bar" ] then foobar fi
● Se debe utilizar “|” (sin comillas) como separador cuando se invoque a sed, p.ej. “sed -e 's|foo|bar|'” (Pero sin las comillas "")
● No se debe utilizar el comando test para hacer comparaciones o pruebas, usar “[” “]” (sin ““); p.ej. ”if [ -x /bin/foo ]; ...” en lugar de “if test -x /bin/foo; ...”.
● Se debe utilizar case siempre que sea posible en lugar de test, ya que es más fácil de leer y más rápido en la ejecución.
● Usar mayúsculas en los nombres de las funciones para evitar confusiones con el entorno de los usuarios.
License: Este programa es software libre: puede ser redistribuido y/o modificado bajo los términos de la GNU General Public License publicada por la Free Software Foundation, bien de la versión 3 de la Licencia, o (a su elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la GNU General Public License para más detalles.
Debería haber recibido una copia de la General Public License GNU junto con este programa. Si no, vea http://www.gnu.org/licenses/.
El texto completo de la GNU Licencia Pública General se pueden encontrar en /usr/share/common-licenses/GPL-3
≅ SiSU Spine ፨ (object numbering & object search)
(web 1993, object numbering 1997, object search 2002 ...) 2024