![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Splitting-Datei basiert auf der Anzahl der Zeilen | wahi80 | Shell Programmierung und Scripting | 2 | 06-03-2008 10:38 PM |
| Kopieren Sie Zeilen aus einer Log-Datei auf der Grundlage von Zeitstempel | ranjiadmin | UNIX für Fortgeschrittene und Experten | 1 | 05-22-2008 04:16 AM |
| Suchen und Speichern von unbekannten Anzahl der Zeilen auf der Grundlage der String mit einem Zustand | swamymns | Shell Programmierung und Scripting | 7 | 05-13-2008 02:02 AM |
| Grabbing Zeilen aus einer Datei auf ein Datum | bsp18974 | Shell Programmierung und Scripting | 2 | 07-17-2006 09:58 AM |
| CASE-Anweisung auf Datei Verfügbarkeit | Loriel | Shell Programmierung und Scripting | 6 | 06-01-2004 09:24 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Ich muss eine if-Anweisung in einem Skript, wenn es bestimmte Prozesse laufen. Einfachste Art und Weise kann ich sehen, dies zu tun ist, um eine ps und grep die Ergebnisse auf, was ich suche nach:
$ Ps-ef | grep wtrs --- webtrend 5046 1 0 12. Mai? 0.28 / webtrends/versions/6.1/wtrs_ui-Start --- webtrend 5030 1 0 12. Mai? 3.29 / webtrends/versions/6.1/wtrs-Start --- webtrend 3550 5030 25 07:03:40? 91:09 / webtrends/versions/6.1/wtrs 314-Kind --- webtrend 6473 3999 0 09:10:08 pts / 4 0:00 grep wtrs --- webtrend 4409 5030 11 07:35:54? 60:29 / webtrends/versions/6.1/wtrs 315-Kind ("--" Hinzugefügt Linie als Separatoren) Normalerweise würde ich erwarten, dass die erste, zweite und vierte Zeile. Das heißt, alles läuft normal. Die dritte und die fünfte Zeile in diesem Beispiel sind, da das Programm (wtrs) ist derzeit die Ausführung bestimmter Befehle. Also, was ich tun wollen ist eine if-Anweisung, die besagt, dass (in Englisch): Wenn wtrs ist in dem obigen Beispiel 3 oder weniger Zeit, führen Sie die folgenden Befehle ein, sonst etwas anderes. Also, was ich denke dabei zum ersten Mal die Ausgabe von ps in eine Text-Datei: $ Ps-ef | grep wtrs> test.txt Dann wird die if-Anweisung könnte sagen: Wenn test.txt <4 Zeilen lang, führen. Wer weiß, wie so etwas möglich wäre, oder wenn es auch möglich sein? |
|
|||||
|
Verwenden Sie wc-l, um die Zeilen der Ausgabe
dh Code:
if [ $( ps -ef | grep wtrs | wc -l ) -gt "3" ]; then # do stuff for more than 3 lines else # do stuff for three or less lines fi ZB http://www.zazzybob.com |
|
||||
|
Zitat:
|
|
|||||
|
Versuchen Sie, anstelle der
if [$ (ps-ef | grep wtrs | wc-l)-gt "3"]; dann mit if [ `ps-ef | grep wtrs | wc-l"-gt "3"]; dann Sie sind mit der Original-Bourne-Shell, so versuchen backquotes statt. Oder die Verwendung von #! / Bin / ksh, wenn es installiert ist und der ursprüngliche Syntax oben. Frieden ZB http://www.zazzybob.com |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|