From 06193ffb550d3ff6b7c517a5c58fe9d1786ab830 Mon Sep 17 00:00:00 2001 From: rschaten Date: Mon, 2 Jul 2001 16:53:41 +0000 Subject: [PATCH] =?UTF-8?q?Beschreibung=20von=20echo=20und=20cat=20tail=20?= =?UTF-8?q?hinzugef=FCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- werkzeugkasten.tex | 55 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/werkzeugkasten.tex b/werkzeugkasten.tex index 29583ae..519ad82 100644 --- a/werkzeugkasten.tex +++ b/werkzeugkasten.tex @@ -27,17 +27,50 @@ werden. F Man-Pages oder der Kauf eines entsprechenden Buches. Am besten macht man natürlich beides. ;-) -\section{Ein- und Ausgabe} +\section{Ein- und Ausgabe}\label{ein_und_ausgabe} -TODO!!! +Beinahe jedes Skript verwendet in irgendeiner Form die Ein- oder Ausgabe. Sei +es in interaktiver Art auf dem Terminal, oder im Hintergrund auf Dateien. +Einige grundlegende Kommandos in diesem Zusammenhang werden hier vorgestellt. -\subsection{echo} +\subsection{echo}\label{echo}\index{echo=\texttt{echo}|(textbf} -TODO!!! -\LTXtable{\textwidth}{tab_beisp_exitcode.tex} +Dies ist wohl der grundlegendste Befehl, der in einem Skript verwendet werden +kann. Er ist die Voraussetzung, um eines der wichtigsten Werkzeuge der +Kybernetik auch mittels eines Shell-Skriptes effizient umzusetzen: Hello World. +:-) + +Die eigentliche Aufgabe dieses Befehls dürfte jedem bekannt sein, der sich bis +zu dieser Stelle durchgearbeitet hat. Allerdings wissen viele nicht, daß auch +der echo-Befehl über Parameter verfügt. Zumindest zwei davon erweisen sich in +der Praxis oft als sehr hilfreich: + +\LTXtable{\textwidth}{tab_kommandos_echo_parameter.tex} -\subsection{cat} +\subsection{cat}\label{cat}\index{cat=\texttt{cat}|(textbf} + +Auch \texttt{cat} ist ein oft unterbewertetes Tool. Seine Aufgabe besteht zwar +lediglich darin, etwas von der Standardeingabe oder aus einer Datei zu lesen, +und das dann auf der Standardausgabe wieder auszugeben. Allerdings leistet es +an vielen, teilweise sehr unterschiedlich gelagerten Aufgaben wertvolle +Dienste. + +Durch Umlenklung der Ausgabe können Dateien erzeugt und erweitert werden. So +können mehrere Dateien per \texttt{cat datei1.txt datei2.txt > datei.txt} +verkettet werden. + +Außerdem kann man mit einem Aufruf in der Art \texttt{cat datei.txt | kommando} +Daten an ein Programm übergeben, das nur von der Standardeingabe lesen kann +(Filter). + +\texttt{cat} verfügt über eine Reige von Parametern, um die Ausgabe zu +formatieren, so können mit \texttt{-n} bzw. \texttt{-b} die Zeilen nummeriert +werden, oder mit \texttt{-s} mehrere Zeilen zu einer einzigen zusammengefaßt +werden. + + +\subsection{tail}\label{tail}\index{tail=\texttt{tail}|(textbf} TODO!!! @@ -91,17 +124,19 @@ TODO!!! TODO!!! -\section{Sonstige Befehle} +\section{Sonstige Befehle}\label{sonstige_befehle} -TODO!!! +Eine Reihe weiterer Befehle könnte in verschiedenen Lagen hilfreich sein. +Einige davon werden im Folgenden in loser Folge vorgestellt. \subsection{script}\label{script}\index{script=\texttt{script}|(textbf} Dieses Kommando eignet sich vorzüglich für das Debuggen fertiger Skripte. Man ruft es in Verbindung mit einem Dateinamen auf. Dieser Aufruf startet eine neue Shell, in der man beliebige Kommandos ausführen kann. Wenn man fertig ist, -beendet man den script-Befehl durch die Eingabe von exit, logout oder Druck der -Tastenkombination control-d (EOF). +beendet man den script-Befehl durch die Eingabe von \texttt{exit}, +\texttt{logout} oder Druck der Tastenkombination \Ovalbox{CTRL}+\Ovalbox{d} +(EOF). Script schreibt alle Ein- und Ausgaben die an dem Terminal vorgenommen werden in die angegebene Datei. So kann man auch interaktive Skripte relativ leicht