Bash y scripting

"Scripting" es la técnica de automatizar procesos concatenando órdenes y guardándolas como un fichero de texto, llamados "scripts". Cada vez que se inicia un script, las órdenes son procesadas una tras otra como si se hubiesen escrito en la Terminal a mano.
Los scripts van desde simples ejecuciones de órdenes en un orden específico hasta sofisticados trozos de código que resuelven tareas complejas.

index Bash

Ya que los scripts dependen naturalmente mucho del shell en el que se ejecutan, primero debería familiarizarse con el BASH utilizado en Haiku. Existen muchos recursos en línea ya que es un tipo de shell comúnmente utilizado. Un buen documento es Introducción a Bash - Un tutorial de bash bajo BeOS (en inglés) escrito por Johan Jansson's.
El Manual de Referencia Bash (PDF, 720 KiB) (en inglés) es un buen recurso para obtener información detallada.

index La Biblia del Scripting

Después de que haya aprendido algunas cosas básicas acerca de cómo trabajar en la shell, es hora de introducirse lentamente en el mundo del scripting. De nuevo, se encontrará con montones de tutoriales y referencias en línea así como en librerías. Una buena introducción que está prácticamente realizada para Haiku es el Capítulo de Scripting (PDF, 900kb) de la Biblia del Hacker de BeOS.

indexScripts en Haiku

Haiku solía tener scripts (archivos de procesamiento por lotes) para el arranque y apagado. Hoy en día utiliza el launch_daemon (servicio lanzador), en cambio. Sin embargo, el usuario aún puede hacer añadidos a este proceso con algunos scripts de usuario. Si todavía no existen, tendrá que crear los ficheros necesarios usted mismo. En caso contrario, simplemente añada las órdenes donde quiere que se ejecuten durante el proceso.

index El UserBootscript (Script de arranque de usuario)

/boot/home/config/settings/boot/UserBootscript será ejecutado después de que el sistema haya terminado su proceso de arranque. Por ejemplo, puede lanzar programas que serían iniciados automáticamente en cada arranque:

# Iniciar LaunchBox
/boot/system/apps/LaunchBox &

# Iniciar Applet de espacios de trabajo
/boot/system/apps/Workspaces &

Recuerde que debe finalizar cada orden mediante un "&" para iniciarlo como un proceso en segundo plano, o el script se detendrá hasta que esa orden haya sido finalizada (en este caso, hasta que la aplicaciones iniciada se cierre de nuevo).

Una alternativa sencilla a lo mostrado anteriormente para lanzar aplicaciones en el inicio es poner enlaces a las mismas en directorio /boot/home/config/settings/boot/launch. Esto se puede hacer simplemeetne mediante un clic derecho en la aplicación que quiere que se inicie automáticamente yendo a Create Link (Crear enlace) y luego navegar al directorio mostrado antes.

index El UserShutdownScript - aún no funcional

/boot/home/config/settings/boot/UserShutdownScript será ejecutado como el primer paso en el proceso de apagado. Si el script devuelve un estado de salida diferente de cero, el proceso de apagado es abortado.

index El UserShutdownFinishScript - aún no funcional

/boot/home/config/settings/boot/UserShutdownFinishScript es ejecutado como el último paso en el proceso de apagado. Hay que tener en cuanta que la mayor parte de los componentes de sistema ya han sido finalizados en el momento que se ejecuta este script.