La bash e lo "scripting"

Lo "scripting" è una tecnica che consente l'esecuzione automatica di procedure tramite la concatenazione dei comandi che vengono salvati in un file di testo e prendono il nome di "script". Ogni volta che uno script viene eseguito, i comandi vengono eseguiti uno dopo l'altro, esattamente come se venissero digitati a mano direttamente nel Terminale.
Gli script possono variare dalla semplice esecuzione di alcuni comandi in un preciso ordine fino a sofisticati pezzi di codice in grado di risolvere compiti complessi.

index La bash

Dal momento che gli script si basano molto sulla shell che li interpreta, bisogna prima familiarizzare con la BASH, la shell usata da Haiku. Ci sono molte risorse online dal momento che si tratta di una delle shell più comuni. Un buon documento è Introduction to bash - a tutorial for bash under BeOS di Johan Jansson. Il Manuale di riferimento di Bash (PDF, 720 KiB)è un'ottima fonte di approfondimento. Entrambi i documenti sono in lingua inglese.

index La bibbia dello scripting

Dopo aver appreso alcune nozioni di base su come lavorare nella shell, è il momento di entrare lentamente nel mondo dello scripting. Online si possono trovare molti di tutorial e diverso materiale di riferimento, ad esempio un'introduzione molto buona, scritta su misura per Haiku è Scripting Chapter (PDF, 900kb) dalla BeOS Bible di Scot Hacker (in lingua inglese).

indexGli script in Haiku

Haiku in passato ha utilizzato script per le sue procedure di avvio e di arresto. Oggi, invece, questo compito è assolto dal launch_daemon. In ogni caso, l'utente può comunque arricchire questo processo attraverso l'uso di alcuni script. Se non esistono già, puoi creare tu stesso questi file. In caso contrario, aggiungi semplicemente i comendi nel punto dle processo in cui vuoi che questi vengano eseguiti.

index L'UserBootscript

/boot/home/config/settings/boot/UserBootscript viene eseguito solo dopo che il sistema ha terminato il processo di avvio. Per esempio, si potrebbero lanciare automaticamente dei programmi ad ogni avvio del sistema:

# Start LaunchBox
/boot/system/apps/LaunchBox &

# Start Workspaces Applet
/boot/system/apps/Workspaces &

Si consiglia di terminare i comandi con il carattere "&" in modo da avviarli in background, altrimenti lo script si fermerà soltanto quando il comando avrà terminato la sua esecuzione (in questo caso: fin quando l'applicazione non viene chiusa).

Per lanciare le applicazioni all'avvio esiste una semplice alternativa a quella presentata all'inizio del paragrafo; consiste nel creare dei collegamenti alla cartella /boot/home/config/settings/boot/launch. È sufficiente cliccare con il tasto destro sull'applicazione che si desidera avviare automaticamente, andando su Crea collegamento e navigando fino alla cartella indicata.

index L'UserShutdownScript - non ancora implementato

/boot/home/config/settings/boot/UserShutdownScript verrà eseguito come primo passo nel processo di spegnimento. Se lo script ritorna uno stato diverso da 0, lo spegnimento viene arrestato.

index L'UserShutdownFinishScript - non ancora implementato

/boot/home/config/settings/boot/UserShutdownFinishScript verrà eseguito come ultimo passo nel processo di spegnimento. Si noti che la maggior parte del sistema sarà già stato terminato al momento dell'esecuzione di questo script.