vfs: check userland buffers before reading them.
[haiku.git] / docs / userguide / de / bash-scripting.html
blob49d83b61d2e2d22492e7d5edc9d0ffbf73c947f1
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
4 <head>
5 <!--
7 * Copyright 2009, Haiku. All rights reserved.
8 * Distributed under the terms of the MIT License.
10 * Authors:
11 * Humdinger <humdingerb@gmail.com>
12 * Translators:
13 * Finest Bug
14 * Humdinger
15 * Matthias
16 * taos
18 -->
19 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
20 <meta http-equiv="Content-Style-Type" content="text/css" />
21 <meta name="robots" content="all" />
22 <title>Bash und Skripten</title>
23 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
24 <link rel="stylesheet" type="text/css" href="../Haiku-doc.css" />
25 </head>
26 <body>
28 <div id="banner">
29 <div><span>User Guide</span></div>
30 </div>
32 <div class="nav">
33 <div class="inner">
34 <ul class="lang-menu">
35 <li class="now"><img src="../images/flags/de.png" alt="" /> Deutsch</li>
36 <li><a href="../ca/bash-scripting.html"><img src="../images/flags/ca.png" alt="" />Català</a></li>
37 <li><a href="../en/bash-scripting.html"><img src="../images/flags/gb.png" alt="" />English</a></li>
38 <li><a href="../es/bash-scripting.html"><img src="../images/flags/es.png" alt="" />Español</a></li>
39 <li><a href="../fr/bash-scripting.html"><img src="../images/flags/fr.png" alt="" />Français</a></li>
40 <li><a href="../it/bash-scripting.html"><img src="../images/flags/it.png" alt="" />Italiano</a></li>
41 <li><a href="../hu/bash-scripting.html"><img src="../images/flags/hu.png" alt="" />Magyar</a></li>
42 <li><a href="../pl/bash-scripting.html"><img src="../images/flags/pl.png" alt="" />Polski</a></li>
43 <li><a href="../pt_PT/bash-scripting.html"><img src="../images/flags/pt_PT.png" alt="" />Português</a></li>
44 <li><a href="../pt_BR/bash-scripting.html"><img src="../images/flags/pt_BR.png" alt="" />Português (Brazil)</a></li>
45 <li><a href="../ro/bash-scripting.html"><img src="../images/flags/ro.png" alt="" />Română</a></li>
46 <li><a href="../sk/bash-scripting.html"><img src="../images/flags/sk.png" alt="" />Slovenčina</a></li>
47 <li><a href="../fi/bash-scripting.html"><img src="../images/flags/fi.png" alt="" />Suomi</a></li>
48 <li><a href="../sv_SE/bash-scripting.html"><img src="../images/flags/sv_SE.png" alt="" />Svenska</a></li>
49 <li><a href="../zh_CN/bash-scripting.html"><img src="../images/flags/zh_CN.png" alt="" /> 中文 [中文]</a></li>
50 <li><a href="../ru/bash-scripting.html"><img src="../images/flags/ru.png" alt="" />Русский</a></li>
51 <li><a href="../uk/bash-scripting.html"><img src="../images/flags/uk.png" alt="" />Українська</a></li>
52 <li><a href="../jp/bash-scripting.html"><img src="../images/flags/jp.png" alt="" />日本語</a></li>
53 </ul>
54 <span>
55 «  <a href="preferences.html">Einstellungen</a> 
56 ::  <a href="contents.html" class="uplink">Inhalt</a> 
57 <!-- ::  <a href="filesystem-layout.html">Dateisystem Layout</a>  » -->
58 </span></div>
59 </div>
61 <div id="content">
62 <div>
64 <h1>Bash und Skripten</h1>
66 <p>"Skripten" bezeichnet die Technik Prozesse zu automatisieren, indem
67 Befehle aneinandergereiht werden und das Ganze als Textdatei, ein
68 sogenanntes "Skript", abgespeichert wird. Jedes Mal wenn so ein Skript
69 aufgerufen wird, werden die Befehle nacheinander so ausgeführt, als ob
70 man sie per Hand ins <a href="applications/terminal.html">Terminal</a> eingegeben hätte.<br />
71 Skripte können zum einfachen Ausführen weniger Befehle in einer
72 bestimmten Reihenfolge dienen, durch ausgefeilte Programmierung aber
73 auch komplexe Aufgaben lösen.</p>
75 <h2>
76 <a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
77 <a id="bash" name="bash">Die Bash</a></h2>
78 <p>Da Skripten natürlich stark auf die Konsole für die sie geschrieben wurden aufbauen, sollte man sich zuerst mit der BASH vertraut machen, die von Haiku benutzt wird. Dank ihrer weiten Verbreitung existieren für diese Konsole viele Ressourcen online. Johan Janssons <a href="https://web.archive.org/web/20011205095723/http://www.beforever.com/bashtut.htm" class="printurl">Introduction to bash - a tutorial for bash under BeOS</a> ist ein lesenswertes Dokument.<br />
79 Das <a href="https://www.gnu.org/software/bash/manual/bash.pdf" class="printurl">Bash Reference Manual (PDF, 720 KiB)</a> ist gut als Nachschlagewerk geeignet.</p>
81 <h2>
82 <a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
83 <a id="scripting-bible" name="scripting-bible">Die Skripter Bibel</a></h2>
84 <p>Sobald man sich ein gewisses Grundwissen zum Arbeiten in der Konsole angeeignet hat, ist es an der Zeit sich ein wenig tiefer in die Welt des Skripten zu begeben. Nochmals, es gibt massenhaft Beispiele und Referenzmaterial im Internet und im Buchhandel. Eine sehr schöne, für Haiku praktisch maßgeschneiderte, Einführung ist das online verfügbare <a href="http://www.birdhouse.org/beos/bible/bos/ch_scripting1.html" class="printurl">Scripting Chapter</a> (<a href="http://www.birdhouse.org/beos/bible/bos/BeOS.scripting.PDF">PDF, 900 KiB</a>) aus Scot Hackers BeOS Bible.</p>
86 <h2>
87 <a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a><a id="user-scripts" name="user-scripts">Skripten in Haiku</a></h2>
88 <p>Früher nutzte Haiku Skripte zum Hoch- und Runterfahren des Systems. Heute wird dafür der <a href="https://dev.haiku-os.org/wiki/LaunchDaemon">launch_daemon</a> benutzt. Der Benutzer kann diesen Prozess allerdings immernoch mit eigenen Skripten erweitern. Falls sie noch nicht existieren, muss man die benötigten Dateien selbst anlegen. Ansonsten sollten eigene Befehle einfach an den Stellen eingefügt werden, an denen sie ausgeführt werden sollen.</p>
90 <h3>
91 <a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
92 <a id="userbootscript" name="userbootscript">Das UserBootscript</a></h3>
93 <p><span class="path">/boot/home/config/settings/boot/UserBootscript</span> wird ausgeführt, nachdem das System komplett hochgefahren wurde. Man kann zum Beispiel einige Programme aufrufen, die dann nach jedem Hochfahren automatisch gestartet werden:</p>
94 <pre># Start LaunchBox
95 /boot/system/apps/LaunchBox &amp;
97 # Start Workspaces Applet
98 /boot/system/apps/Workspaces &amp;</pre>
99 <p>Das "<tt>&amp;</tt>" am Ende jedes Befehls ist wichtig, um ihn im Hintergrund zu starten. Anderenfalls wird das Skript solange anhalten, bis der Befehl beendet ist (in diesem Fall, bis das ausgeführte Programm geschlossen wurde).</p>
101 <p>Eine einfache Alternative zum oben genannten ist es, die Anwendungen, die nach dem Hochfahren gestartet werden sollen, im Verzeichnis <span class="path">/boot/home/config/settings/boot/launch</span> zu verlinken. Am einfachsten klickt man dazu mit der rechten Maustaste auf die entsprechende Anwendung, geht auf <span class="menu"><acronym title="Create Link">Verknüpfung erstellen</acronym></span> und <a href="tracker.html#navigating">navigiert</a> dann zum oben genannten Verzeichnis.</p>
103 <h3>
104 <a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
105 <a id="usershutdownscript" name="usershutdownscript">Das UserShutdownScript</a></h3>
106 <p><span class="path">/boot/home/config/settings/boot/UserShutdownScript</span> wird direkt vor dem Herunterfahren ausgeführt. Das Runterfahren wird abgebrochen, falls das Skript einen anderen Rückgabewert als "0" zurück liefert.</p>
108 <h3>
109 <a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
110 <a id="usershutdownfinishscript" name="usershutdownfinishscript">Das UserShutdownFinishScript</a></h3>
111 <p><span class="path">/boot/home/config/settings/boot/UserShutdownFinishScript</span> wird beim Herunterfahren als letztes ausgeführt. Es gilt jedoch zu beachten, das zum Zeitpunkt, an dem dieses Skript ausgeführt wird, viele Systemkomponenten schon nicht mehr laufen.</p>
113 </div>
114 </div>
116 <div class="nav">
117 <div class="inner"><span>
118 «  <a href="preferences.html">Einstellungen</a> 
119 ::  <a href="contents.html" class="uplink">Inhalt</a> 
120 <!-- ::  <a href="filesystem-layout.html">Dateisystem Layout</a>  » -->
121 </span></div>
122 </div>
124 </body>
125 </html>