| |
|
|
| |

bash intro
Jetzt haben wir ja schon einige Programme kennengelernt. Das mit dem du
bis jetzt am öftesten gearbeitet hast haben wir aber noch nicht
besprochen. Die "bash". Die bash ist eine Shell. Das Programm, dass die
Befehle, die du eingibst liest und dann ausführt.
Neben der bash gibt es noch viele andere "shell"-Programme. Doch bash
ist der Standard auf Linux und auch auf anderen Unixen sehr beliebt.
bash steht für "bourne again shell" und ist eine Weiterentwicklung der
alten "bourne shell (bsh)" (benannt nach dem Herrn "Bourne")
Die bash bearbeitet also die Eingaben auf der Befehlszeile und gibt dir
einen Prompt (Eingabeaufforderung) aus. Weiters hat sie auch einfache
Editierfunktionen. Wir kennen die meisten Tastenkürzel schon von
jed/emacs:
^ steht hier für die control Taste:
ESC steht für die ESC Taste (meta)
^a ..... Anfang der Zeile
^e ..... Ende der Zeile
^k ..... Alles löschen bis zum Ende der Zeile
^p ..... previous. Eine Zeile zurückblättern
^n ..... nächste Zeile
ESC b .. back. Voriges Wort.
ESC f .. forward. Nächstes Wort.
^r ..... reverse-incremental-search
nach dem ^r kannst du Zeichen eingeben und er sucht dir
in den vorherigen Befehlen (die sogenannte "history")
den Befehl raus, wo die Zeichen drinnen sind.
Wenn du fertig bist, tippst einfach return um den Befehl
auszuführen.
TAB .... Tabulator zum Vervollständigen von Dateinamen.
Die TAB-Taste ist besonders nützlich. Sie vervollständigt
angefangene Pfade oder Dateinamen. Wenn du an einer Stelle bist an der du
ein Kommando eingeben darfst, so vervollständigt sie anhand der
List aller ausführbaren Befehle.
Für oft benutzte Befehle kann man sich in der bash sog. aliase setzten.
alias
"alias" alleine zeigt dir die gesetzten aliase an:
alias bla='ls -l'
definiert dir den Befehl bla, der ls -l macht.
Die so definierten aliase gelten aber nur für die momentane Shell.
Will man sie permanent haben, so muss man sie in eines der Files schreiben, die
die bash beim Starten liest. Das besprechen wir später.
Wenn du mehrere Befehle oft ausführen willst, dann kannst du sie in einem
sogenanten Shellscript zusammenfassen. Shellscripts sind sehr
leistungsfähig, aber hier wollen wir nur mal ganz einfache Sachen damit
machen:
du legst dir z.b. mit
joe hallo.sh (oder einem anderen Editor deiner Wahl)
ein File an und schreibst folgenden Inhalt hinein:
#!/bin/bash
fortune
sleep 2
echo hallo welt
sleep 2
echo das wars für heute
dann speicherst das File ab und machst folgenden Befehl:
chmod ugo+rx hallo.sh
(Dieser Befehl sagt, dass hallo.sh für alle (user group others) lesbar
(r) und ausführbar (x) sein soll, aber darüber lernen wir
später mehr). Ausführbar heißt, dass es eine Art eigener
Befehl ist. Du kannst diesen Befehl nun anstarten mit:
./hallo.sh
Die erste Zeile des Script: #!/bin/bash sagt, dass es ein
bash-Script ist. Dort könnte auch etwas anderes stehen, dann könnte
man eine andere Sprache zum Scriptschreiben verwenden..
Und die restlichen Befehle im Script kennst du ja schon..
Später machen wir dann mal sinnvollere Scripts.. aber das Prinzip haben
wir ja mal...
EXERCISES:
* Mach dich mit den Editierfunktionen der Shell vertraut (besonders reverse
incremntal search und TAB Vervollständigung)
* Sieh dir an, welche Aliase auf deiner Shell definiert sind.
* Versuch ein ähnliches kurzes Script wie oben gezeigt zu schreiben.
(das chmod ugo+rx nicht vergessen)
REFERENCES:
man bash
help (help in der bash gibt dir hilfe zur bash)
|
|
| |
|
|
|