Umformatiert
This commit is contained in:
@@ -57,8 +57,7 @@ z
|
||||
|
||||
Folgendes Skript funktioniert nicht:
|
||||
|
||||
\footnotesize
|
||||
\begin{listing}[2]{1}
|
||||
\begin{lstlisting}
|
||||
#!/bin/sh
|
||||
count=0
|
||||
cat /etc/passwd | while read i; do
|
||||
@@ -69,8 +68,7 @@ cat /etc/passwd | while read i; do
|
||||
fi
|
||||
done
|
||||
echo Es sind $count Benutzer mit einer ID kleiner 100 eingetragen
|
||||
\end{listing}
|
||||
\normalsize
|
||||
\end{lstlisting}
|
||||
|
||||
Was ist passiert?
|
||||
|
||||
@@ -91,8 +89,7 @@ praktisch nur lokal zur Verf
|
||||
Neben der Methode in \ref{daten_hochreichen} bietet sich hier eine viel
|
||||
einfachere L<>sung an:
|
||||
|
||||
\footnotesize
|
||||
\begin{listing}[2]{1}
|
||||
\begin{lstlisting}
|
||||
#!/bin/sh
|
||||
count=0
|
||||
while read i; do
|
||||
@@ -103,8 +100,7 @@ while read i; do
|
||||
fi
|
||||
done < /etc/passwd
|
||||
echo Es sind $count Benutzer mit einer ID kleiner 100 eingetragen
|
||||
\end{listing}
|
||||
\normalsize
|
||||
\end{lstlisting}
|
||||
|
||||
Hier befindet sich die Schleife nicht in einer Pipe, daher wird sie auch nicht
|
||||
in einer Subshell ausgef<65>hrt. Man kann auf das \texttt{cat}-Kommando verzichten
|
||||
@@ -124,7 +120,7 @@ enthalten.
|
||||
|
||||
Der erste Versuch an der Stelle wird etwas in der Form
|
||||
|
||||
\texttt{grep }\textit{wichtig datei.txt}\texttt{ > }\textit{datei.txt}
|
||||
\lstinline|grep wichtig datei.txt > datei.txt|
|
||||
|
||||
sein. Das kann funktionieren, es kann aber auch in die sprichw<68>rtliche Hose
|
||||
gehen. Das Problem an der Stelle ist, da<64> die Datei an der Stelle gleichzeitig
|
||||
@@ -136,15 +132,13 @@ Dateisystem entfernt, wenn kein Deskriptor mehr auf sie zeigt. Dann kann aus
|
||||
dem gerade angelegten Deskriptor gelesen werden, w<>hrend eine neue Datei unter
|
||||
dem alten Namen angelegt wird:
|
||||
|
||||
\footnotesize
|
||||
\begin{listing}[2]{1}
|
||||
\begin{lstlisting}
|
||||
#!/bin/sh
|
||||
FILE=datei.txt
|
||||
exec 3< "$FILE"
|
||||
rm "$FILE"
|
||||
grep "wichtig" <&3 > "$FILE"
|
||||
\end{listing}
|
||||
\normalsize
|
||||
\end{lstlisting}
|
||||
|
||||
Allerdings sollte man bei dieser Methode beachten, da<64> man im Falle eines
|
||||
Fehlers die Quelldaten verliert, da die Datei ja bereits gel<65>scht wurde.
|
||||
|
Reference in New Issue
Block a user