Initial revision
This commit is contained in:
124
werkzeugkasten.tex
Normal file
124
werkzeugkasten.tex
Normal file
@@ -0,0 +1,124 @@
|
||||
\chapter{Nützliche Shell-Kommandos}
|
||||
Durch die gezeigten Steuerungsmöglichkeiten stehen dem Shell-Pro\-grammie\-rer
|
||||
Möglichkeiten offen, fast alle gängigen Algorithmen zu implementieren. Es ist
|
||||
tatsächlich in der Shell möglich, Sortier- oder Suchfunktionen zu schreiben.
|
||||
Leider kommt aber an dieser Stelle einer der bedeutendsten Nachteile der Shell
|
||||
zum tragen: Die Geschwindigkeit.
|
||||
|
||||
In einem Shell-Skript wird für jedes externe Kommando\footnote{Externe
|
||||
Kommandos sind solche, die nicht direkt in der Shell enthalten sind, für die
|
||||
also eine eigene Datei aufgerufen wird.} ein eigener Prozeß gestartet. Das
|
||||
kostet natürlich Zeit und Speicher.
|
||||
|
||||
Zeitkritische Anwendungen sind also kein Einsatzgebiet für Shell-Skripte. Die
|
||||
schreibt man besser in Perl, oder noch besser in einer `compilierten' Sprache
|
||||
wie C oder C++.
|
||||
|
||||
Es stehen jedoch an der Shell viele sehr nützliche externe Kommandos zur
|
||||
Verfügung, die einem die Entwicklung entsprechender eigener Routinen ersparen.
|
||||
Diese externen Kommandos sind zudem in anderen Sprachen geschrieben worden, so
|
||||
daß sie schneller ablaufen als jedes Shell-Skript. Man kommt als
|
||||
Shell-Programmierer nicht sinnvoll um den Einsatz dieser Programme herum.
|
||||
|
||||
In diesem Abschnitt sollen einige dieser Programme mit typischen
|
||||
Einsatzmöglichkeiten vorgestellt werden. Eine vollständige Beschreibung wäre
|
||||
(wenn überhaupt möglich) viel zu lang, um an dieser Stelle untergebracht zu
|
||||
werden. Für ausführlichere Beschreibungen empfiehlt sich das Studium der
|
||||
Man-Pages oder der Kauf eines entsprechenden Buches. Am besten macht man
|
||||
natürlich beides. ;-)
|
||||
|
||||
\section{Ein- und Ausgabe}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{echo}
|
||||
|
||||
TODO!!!
|
||||
\LTXtable{\textwidth}{tab_beisp_exitcode.tex}
|
||||
|
||||
|
||||
\subsection{cat}
|
||||
|
||||
TODO!!!
|
||||
|
||||
|
||||
\subsection{read}
|
||||
|
||||
TODO!!!
|
||||
|
||||
|
||||
\section{Pfade und Dateien}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{basename}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{touch}
|
||||
|
||||
TODO!!!
|
||||
|
||||
|
||||
\section{Pipes manipulieren}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{grep}
|
||||
|
||||
TODO!!!
|
||||
|
||||
|
||||
\subsection{sed}
|
||||
|
||||
TODO!!!
|
||||
|
||||
|
||||
\subsection{awk}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{sort}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{tee}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{wc}
|
||||
|
||||
TODO!!!
|
||||
|
||||
|
||||
\section{Sonstige Befehle}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{script}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{seq}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{expr}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{bc}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{kill}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{sleep}
|
||||
|
||||
TODO!!!
|
||||
|
||||
\subsection{who}
|
||||
|
||||
TODO!!!
|
||||
Reference in New Issue
Block a user