ps-Trick bei grep eingefgt
This commit is contained in:
parent
a7f9f8ccdd
commit
bd36939a90
@ -219,6 +219,28 @@ Die folgende Tabelle stellt einige der vielen Parameter vor:
|
|||||||
|
|
||||||
\LTXtable{\textwidth}{tab_kommandos_grep_parameter.tex}
|
\LTXtable{\textwidth}{tab_kommandos_grep_parameter.tex}
|
||||||
|
|
||||||
|
Im Zusammenhang mit grep stößt fast jeder Shell-Skripter früher oder später auf
|
||||||
|
das Problem, daß er irgendwas davon abhängig machen will, ob ein bestimmter
|
||||||
|
Prozeß läuft oder nicht. Im Normalfall wird er zuerst folgendes ausprobieren,
|
||||||
|
was aber oft (nicht immer) in die Hose gehen wird:
|
||||||
|
|
||||||
|
\texttt{ps aux | grep }\textit{prozessname}\texttt{ \&\& echo \dq}\textit{läuft
|
||||||
|
schon}\texttt{\dq}
|
||||||
|
|
||||||
|
Der Grund dafür ist, daß unter Umständen in der Ausgabe von \texttt{ps} auch
|
||||||
|
das \texttt{grep}-Kommando samt Parameter (\textit{prozessname}) aufgelistet
|
||||||
|
wird. So findet das \texttt{grep}-Kommando sich quasi selbst.
|
||||||
|
|
||||||
|
Abhilfe schafft das folgende Konstrukt:
|
||||||
|
|
||||||
|
\texttt{ps aux | grep \dq}\textit{[p]rozessname}\texttt{\dq~\&\& echo
|
||||||
|
\dq}\textit{läuft schon}\texttt{\dq}
|
||||||
|
|
||||||
|
Das p ist jetzt als eine Zeichenmenge (regulärer Ausdruck) angegeben worden.
|
||||||
|
Jetzt sucht \texttt{grep} also nach dem String \textit{prozessname}, in der
|
||||||
|
Ausgabe von \texttt{ps} erscheint das \texttt{grep}-Kommando allerdings mit
|
||||||
|
\textit{[p]rozessname} und wird somit ignoriert.
|
||||||
|
|
||||||
\index{grep=\texttt{grep}|)}
|
\index{grep=\texttt{grep}|)}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user