<p>"Scripting" é a técnica de encadear comandos formando um procedimento automatizado e salvar isso em arquivos texto, chamados "scripts". Sempre que você executa um script os comandos são processados um após o outro, como se você os digitasse num <ahref="applications/terminal.html">Terminal</a>.<br/>
Scripts podem executar simples comandos numa ordem específica, ou resultarem em sofisticadas peças de código que resolvem tarefas complexas.</p>
<p>Since scripts rely naturally a lot on the shell they are interpreted by, you should first familiarize yourself with the BASH that's used by Haiku. There are many resources online as it's a widely used shell. One nice document is Johan Jansson's <ahref="https://web.archive.org/web/20011205095723/http://www.beforever.com/bashtut.htm"class="printurl">Introduction to bash - a tutorial for bash under BeOS</a>.<br/>
The <ahref="https://www.gnu.org/software/bash/manual/bash.pdf"class="printurl">Bash Reference Manual (PDF, 720 KiB)</a> is a nice resource to get into the details.</p>
<aid="scripting-bible"name="scripting-bible">A Bíblia do Scripting</a></h2>
<p>Depois de ter aprendido umas noções básicas sobre como trabalhar no shell, é hora de lentamente adentrar no mundo do scripting. Novamente, você encontrará muitos tutoriais e materiais de referência online como também em livrarias. Uma introdução muito boa que foi praticamente feita sob medida para o Haiku está disponível online, é o <ahref="http://www.birdhouse.org/beos/bible/bos/ch_scripting1.html"class="printurl">capítulo sobre scripting</a> (<ahref="http://www.birdhouse.org/beos/bible/bos/BeOS.scripting.PDF">PDF, 900kb</a>) do livro BeOS Bible de Scot Hacker.</p>
<h2>
<ahref="#"><imgsrc="../images/up.png"style="border:none;float:right"alt="index"/></a><aid="user-scripts"name="user-scripts">Scripts no Haiku</a></h2>
<p>Haiku used to have scripts for booting and shutting down. Today it uses the <ahref="https://dev.haiku-os.org/wiki/LaunchDaemon">launch_daemon</a> instead. However, the user can still augment this process with certain user scripts.
If they don't exist already, you'll have to create the needed files yourself. Otherwise simply add your commands where in the process you want them to be executed.</p>
<p><spanclass="path">/boot/home/config/settings/boot/UserBootscript</span> will be executed after the system has finished its boot process. For example, you could launch a number of programs that would then be automatically started on every boot up:</p>
<p>Lembre-se de terminar o comando com um "<tt>&</tt>" para iniciá-lo como um processo em segundo plano (background process), ou o script ficará suspenso até este comando ter sido concluído (neste caso: o aplicativo aberto ser fechado novamente).</p>
<p>A simple alternative to the above for launching applications at boot up is to put links to them in the <spanclass="path">/boot/home/config/settings/boot/launch</span> directory. This can be done simply by right-clicking on the application you wish to have started automatically, going to <spanclass="menu">Create Link</span> and then <ahref="tracker.html#navigating">navigating</a> to the above directory.</p>
<p><spanclass="path">/boot/home/config/settings/boot/UserShutdownScript</span> will be executed as the first step in the shutdown process. If the script returns a non-zero exit status, the shutdown is aborted.</p>
<p><spanclass="path">/boot/home/config/settings/boot/UserShutdownFinishScript</span> is executed as the last step in the shutdown process. Note, that most parts of the system have terminated by the time this script is executed.</p>