Shell-Skript ps "grep" u.a. nicht beinhalten

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Matthieu

Benutzer
Registriert
03. Nov. 2008
Beiträge
13.222
Reaktionspunkte
88
Punkte
344
Schönen Sonntag Community.
Ausgangspunkt ist folgender Code:
Rich (BBCode):
  for ARG in $@
  do
    if ( /bin/ps | /bin/grep "$ARG" )
    then
Und dahinter eben die entsprechenden Anweisungen ...
Das Problem ist: Ich bekomme immer true zurück, denn bei ps schnappt er auch den "grep ..." mit auf.
Also was tun? Ich würde schon gern beim integrierten ps bleiben, auch wenn es eher suboptimal ist.

MfG Matthieu
 
Was hälst du von
Code:
... /bin/ps | /bin/grep "$ARG" | /bin/grep -v "grep" ...
Hab's so schon öfter gesehen.

Gruß
Benares
 
In der Shell bedeuten runde Klammern: starte eine Subshell und gibt den Exit-Status zurück ... Vielleicht wolltest du ja gar keine Subshell, sondern eine Pipe-Verknüpfung testen, dann halt ohne runde Klammern ...

Itari
 
Wie wär´s alternativ mit:
Rich (BBCode):
if [ `/bin/ps | /bin/grep -c "$ARG"` -ge 2 ]
then
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat