Sonntag, 13. Juli 2008
read
mg1008, 13:41h
Der Befehl 'read' liest eine Zeile ein, die der Benutzer eingibt. Genauso kann er aber durch den Umleitungsoperator eine Datei einlesen. Der erste Parameter ist die Variable, in die eingelesen wird. Sie wird ohne vorangestelltes '$' angegeben, da sie ja initialisiert wird. Syntax:
read <Variable>
read <Variable> < <Datei>
Letzteres Beispiel liest eine Datei ein.
read <Variable>
read <Variable> < <Datei>
Letzteres Beispiel liest eine Datei ein.
... link (0 Kommentare) ... comment
Samstag, 12. Juli 2008
while und until
mg1008, 13:34h
'while' und 'until' sind Gegenstücke. 'while' tut etwas so lange, wie es 'true' ist (es stimmt). 'until' tut es solange, bis es 'true' wird. Der Befehl 'do' kündigt hier den Befehlsblock an, 'done' beendet ihn. Syntax:
while [ <Bedingung> ]; do
<Befehle>
done
until [ <Bedingung> ]; do
<Befehle>
done
while [ <Bedingung> ]; do
<Befehle>
done
until [ <Bedingung> ]; do
<Befehle>
done
... link (0 Kommentare) ... comment
if , elif und else
mg1008, 13:28h
Sie werten die Rückgabe des Befehls '[' aus. Zuerst steht immer 'if'. Der Befehl 'then' kündigt den Befehlsblock an. Für weitere Fälle benutzt man 'elif' (zusammengesetzt aus 'else' und 'if'). Auch hier wird wieder 'then' benötigt. Als letztes folgt else. Dieser Befehl nimmt nichts entgegen. Er wird dafür benutzt, Etwas auszuführen, wenn kein Fall eintritt. Als letztes folgt 'fi'. Er beendet 'if'. Syntax:
if [ <Bedingung> ]; then
<Befehle>
elif [ <Bedingung> ]; then
<Befehle>
else
<Befehle>
fi
elif und else sind optional.
if [ <Bedingung> ]; then
<Befehle>
elif [ <Bedingung> ]; then
<Befehle>
else
<Befehle>
fi
elif und else sind optional.
... link (0 Kommentare) ... comment
Freitag, 11. Juli 2008
[ und test
mg1008, 22:05h
Diese Befehle untersuchen den exit-Status eines Befehls. Das ist der Wert, mit dem sich ein Programm beendet. Das ist 0 für "Alles in Ordnung" oder jede andere Zahl für "Fehler!". [ erwartet als letzten Parameter ] so dass das ganze z.B. wie folgt aussieht: '[ "hallo" == "hallo" ]'. Nicht die Leerzeichen nach [ und vor ] vergessen! Es gibt einige Befehle, die das Ganze verändern:
-! am Anfang negiert die Anweisung. (Von true nach false und false nach true)
-== überprüft, ob String 1 gleich String 2 ist. Oft in Verbindung mit Variablen genutzt.
-&& (und) verbindet mehrere Bedingungen. Alle müssen true sein, damit das Ergebnis true ist.
-|| (oder) verbindet mehrere Bedingungen. Es darf nur eine true sein, damit das Ergebnis true ist.
-! am Anfang negiert die Anweisung. (Von true nach false und false nach true)
-== überprüft, ob String 1 gleich String 2 ist. Oft in Verbindung mit Variablen genutzt.
-&& (und) verbindet mehrere Bedingungen. Alle müssen true sein, damit das Ergebnis true ist.
-|| (oder) verbindet mehrere Bedingungen. Es darf nur eine true sein, damit das Ergebnis true ist.
... link (0 Kommentare) ... comment
Shell Skripte programmieren
mg1008, 21:58h
Shell Skripte zu schreiben ist sehr einfach: sie bestehen (fast) nur aus normalem Shell Code! Wichtig: In der ersten Zeile muss immer '#!/bin/bash' stehen, sonst kann das System die Datei nicht zuordnen! Für die Shell ist das nur ein Kommentar, da das erste Zeichen '#' ist. Darauf kann nun der Code folgen, und hier sieht man eine der Stärken des echo-Befehls: Kommunikation mit dem Benutzer! Nun muss das Skript nur noch ausführbar gemacht werden. Wechseln sie zuerst in das Verzeichnis ihres Skriptes. Nun rufen sie das Programm 'chmod' mit dem Parameter '+x', was für 'executable' (ausführbar) steht, auf. Als zweiten Parameter nehmen sie den Namen ihres Skriptes. Wechseln sie nun in ein anderes Verzeichnis. Sollte das Verzeichnis, in dem das Skript liegt, in ihrem Suchpfad sein, so können sie ihr Skript so ausführen: '. <name>'. Sie wollen den Punkt nicht schreiben müssen? Dann schreiben sie in die Datei '.bashsrc' in ihrem Home-Verzeichnis: 'alias <name>=". <name>"'. Und fertig!
... link (0 Kommentare) ... comment
Ändern des Promts
mg1008, 18:17h
Immer, wenn die Shell bereit ist, gibt sie den Promt aus. Das ist meist das Verzeichnis, in dem man sich befindet, gefolgt von einem > oder $. Wie aber diesen jetzt ändern? Ganz einfach: schreiben sie einfach PS1=<Promt> (ersetzen sie bitte <Promt> mit ihrem gewünschten Promt). Der neue Promt erscheint. Bei einem Neustart sind aber alle Änderungen verloren! Schreiben sie es einfach in die Datei, die beim Starten geöffnet wird: .bashsrc beim Öffnen eines neuen Shell-Fensters oder .user_profile beim Starten des Computers. Beide Dateien liegen in ihrem Home-Verzeichnis.
... link (0 Kommentare) ... comment