Kleine Verbesserungen, neue Kommandos exec und type.
This commit is contained in:
@@ -134,6 +134,7 @@ Datei kann viel mehr sein als nur ein paar Daten im Filesystem.
|
||||
\item \texttt{rm} (\ref{rm}): Dateien löschen
|
||||
\item \texttt{rmdir} (\ref{rmdir}): Verzeichnisse löschen
|
||||
\item \texttt{touch} (\ref{touch}): Eine leere Datei anlegen, bzw. das Zugriffsdatum einer Datei ändern
|
||||
\item \texttt{type} (\ref{type}): Art eines Kommandos feststellen
|
||||
\item \texttt{which} (\ref{which}): Ausführbare Dateien suchen
|
||||
\item \texttt{xargs} (\ref{xargs}): Ausgaben eines Kommandos als Parameter eines anderen Kommandos benutzen
|
||||
\end{itemize}
|
||||
@@ -161,6 +162,7 @@ kleinsten geeigneten Hammer nehmen.
|
||||
\begin{itemize}
|
||||
\item \texttt{awk} (\ref{awk}): In einer Pipe editieren
|
||||
\item \texttt{cut} (\ref{cut}): Teile einer Zeile ausschneiden
|
||||
\item \texttt{exec} (\ref{exec}): Dateideskriptoren umhängen
|
||||
\item \texttt{grep} (\ref{grep}): In einer Pipe suchen
|
||||
\item \texttt{sed} (\ref{sed}): In einer Pipe editieren
|
||||
\item \texttt{sort} (\ref{sort}): Zeilenweises Sortieren
|
||||
@@ -185,6 +187,7 @@ F
|
||||
Verfügung.
|
||||
|
||||
\begin{itemize}
|
||||
\item \texttt{exec} (\ref{exec}): Kommandos ausführen
|
||||
\item \texttt{kill} (\ref{kill}): Signal an einen Prozeß schicken
|
||||
\item \texttt{killall} (\ref{killall}): Signal an mehrere Prozesse schicken
|
||||
\item \texttt{ps} (\ref{ps}): Prozeßliste ausgeben
|
||||
@@ -400,8 +403,11 @@ k
|
||||
verkettet werden.
|
||||
|
||||
Außerdem kann man mit einem Aufruf in der Art
|
||||
\lstinline|cat datei.txt | kommando| Daten an ein Programm übergeben, das nur
|
||||
von der Standardeingabe lesen kann (Filter).
|
||||
\lstinline!cat datei.txt | kommando! Daten an ein Programm übergeben, das nur
|
||||
von der Standardeingabe lesen kann (Filter). Das geht zwar auch durch eine
|
||||
Umleitung (siehe Abschnitt \ref{datenstrom}), wird aber in dieser Form von
|
||||
vielen als lesbarer angesehen. Vorteil der Umleitungs-Methode ist, daß nicht
|
||||
erst ein externes Kommando ausgeführt werden muß.
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item GNU-\texttt{cat} verfügt über eine Reihe von Parametern, um die Ausgabe
|
||||
@@ -667,6 +673,12 @@ der Praxis oft als sehr hilfreich:
|
||||
|
||||
\LTXtable{\textwidth}{tab_kommandos_echo_parameter.tex}
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item Die Steuerzeichen, die nach einem \texttt{-e} angegeben werden können
|
||||
sind nicht in allen Shells gleich. Das sollte berücksichtigt werden, wenn das
|
||||
Skript portabel bleiben soll.
|
||||
\end{dinglist}
|
||||
|
||||
\index{echo=\texttt{echo}|)}
|
||||
|
||||
|
||||
@@ -697,6 +709,28 @@ Array-Elementes ausgegeben werden:
|
||||
\index{eval=\texttt{eval}|)}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{exec}\label{exec}\index{exec=\texttt{exec}|(textbf}
|
||||
|
||||
Dieses Kommando hat zwei wesentliche Einsatzgebiete:
|
||||
|
||||
Wenn das laufende Skript nur benutzt wird um ein anderes Programm zu starten,
|
||||
beispielsweise um die Umgebungsvariablen geeignet zu belegen, sollte das
|
||||
Programm mit \texttt{exec} ausgeführt werden. Der Effekt ist, daß sich die
|
||||
Shell in der das Skript ausgeführt wird beendet und die Kontrolle vollständig
|
||||
an das neue Programm übergibt. So vermeidet man einen überflüssigen Prozeß, der
|
||||
lediglich auf die Beendigung seiner Kinder wartet.
|
||||
|
||||
Der zweite Anwendungsfall ist etwas für den fortgeschrittenen Benutzer: Man
|
||||
kann mit \texttt{exec} Dateideskriptoren umhängen. Damit ist gemeint, daß zum
|
||||
Beispiel die Standardausgabe mittels \lstinline|exec >5| auf den
|
||||
Dateideskriptor mit der Nummer 5 gelegt werden kann. Auf diesem Weg kann mit
|
||||
mehreren Datenströmen jongliert werden. Die Beispiele in Anhang
|
||||
\ref{dateien_die_es_nicht_gibt} verdeutlichen die Anwendung.
|
||||
|
||||
\index{exec=\texttt{exec}|)}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{expr}\label{expr}\index{expr=\texttt{expr}|(textbf}
|
||||
|
||||
@@ -792,7 +826,7 @@ f
|
||||
|
||||
\textbf{Alternative 2:} Sucht man nach einer ausführbaren Datei, die im Pfad
|
||||
vorhanden ist (`Wo liegt eigentlich Firefox?'), dann sucht man mittels
|
||||
\texttt{which} (Abschnitt \ref{which}).
|
||||
\texttt{which} (Abschnitt \ref{which}) oder \texttt{type} (\ref{type}).
|
||||
|
||||
Siehe auch: Abschnitt \ref{beispiele_suchen_dateien}.
|
||||
|
||||
@@ -1733,14 +1767,28 @@ entkr
|
||||
|
||||
\lstinline|trap 'echo "Ctrl-C ist ausser Kraft."' 2|
|
||||
|
||||
Eine Sonderbehandlung macht die Shell, wenn als Signal \texttt{DEBUG} angegeben
|
||||
wird. Dann wird nach jedem ausgeführten Kommando der Trap ausgelöst. Dieses
|
||||
Feature wird wie der Name schon erahnen läßt zum Debuggen benutzt, ein Beispiel
|
||||
findet sich in Abschnitt \ref{fehlersuche}.
|
||||
Eine Sonderbehandlung machen viele Shells, wenn als Signal \texttt{DEBUG}
|
||||
angegeben wird. Dann wird nach jedem ausgeführten Kommando der Trap ausgelöst.
|
||||
Dieses Feature wird wie der Name schon erahnen läßt zum Debuggen benutzt, ein
|
||||
Beispiel findet sich in Abschnitt \ref{fehlersuche}.
|
||||
|
||||
\index{trap=\texttt{trap}|)}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{type}\label{type}\index{type=\texttt{type}|(textbf}
|
||||
|
||||
Das in die Shell eingebaute Kommando \texttt{type} gibt Auskunft über die Art
|
||||
eines ausführbaren Kommandos. So kann man herausfinden ob beim Absetzen des
|
||||
Befehls ein externes Programm gestartet, eine Shell-Funktion ausgeführt oder
|
||||
ein Alias benutzt wird.
|
||||
|
||||
Sucht man nur nach einer ausführbaren Datei, hilft \texttt{which} (Abschnitt
|
||||
\ref{which}).
|
||||
|
||||
\index{type=\texttt{type}|)}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{uniq}\label{uniq}\index{uniq=\texttt{uniq}|(textbf}
|
||||
|
||||
@@ -1813,6 +1861,8 @@ Dateien auf das Suchwort passen wird die erste Fundstelle ausgegeben, also die
|
||||
Datei die tatsächlich ausgeführt würde. Mit \texttt{-a} werden alle Fundstellen
|
||||
ausgegeben.
|
||||
|
||||
Einen ähnlichen Zweck erfüllt auch \texttt{type} (Abschnitt \ref{type}).
|
||||
|
||||
\index{which=\texttt{which}|)}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user