[shellscript] "systemmeldung" nach kill ausblenden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
gunknown
Beiträge: 17
Registriert: 25.05.2006 20:28:11

[shellscript] "systemmeldung" nach kill ausblenden?

Beitrag von gunknown » 25.01.2008 13:07:03

Hi,

ich benutze in meinem shellscript den befehl kill. Als folge antwortet "das system" mit sowas:
./rscs.sh: line 36: 6764 Killed ...

Diese Ausgabe stört aber in meinem scriptablauf, daher würde ich sie gerne "ausblenden".
Die frage ist nun wie.

Hab schon versucht mit &> /dev/null das ganze umzulenken, was aber auch nichts bringt.

Die meldung wird ja nicht von dem programm kill ausgegeben, sondern vom "system". Umleiten ist daher vermutlich nicht der richtige weg. Aber wie dann?

Und wo ich grad dabei bin, wie kann ich in nem shell script eine variable inkrementieren?

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 25.01.2008 13:35:16

Umleiten macht man mit den Ausgaben, wie z.B. 1>/dev/null (stout) oder 2>/dev/null (sterr).
Du kannst auch beides kombinieren und nach /dev/null leiten.
Oh, yeah!

gunknown
Beiträge: 17
Registriert: 25.05.2006 20:28:11

Beitrag von gunknown » 25.01.2008 14:24:45

Genau das hilft ja nichts, da das
./rscs.sh: line 36: 7288 Killed
nicht von dem programm kill ausgegeben wird, sondern vom "system".

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 25.01.2008 15:40:41

Zeig doch mal etwas Code von der entsprechenden Stelle.

gunknown
Beiträge: 17
Registriert: 25.05.2006 20:28:11

Beitrag von gunknown » 25.01.2008 15:52:51

Also, hier ein einfaches beispiel

Code: Alles auswählen

#!/bin/bash

sleep 1000 &
kill -9 $! >/dev/null 2>&1 #Umlenkungen können imo das problem nicht lösen, da es sich nicht um eine ausgabe des programms kill handelt
sleep 2
#jetzt kommt die störende ausgabe
sleep 2
Zuletzt geändert von gunknown am 25.01.2008 15:54:45, insgesamt 1-mal geändert.

gunknown
Beiträge: 17
Registriert: 25.05.2006 20:28:11

Beitrag von gunknown » 25.01.2008 15:54:13

ups, sorry für doppelpost.

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Beitrag von brummer » 25.01.2008 19:38:40

hallo

das hatte ich auch ma. Ich hab dann den kill befehl gesourced und den aufruf mit &>/dev/null
versehen. Also

Code: Alles auswählen

 .sourcescript "killit" &> /dev/null
im sourcescript dann die "funktion" killit

Code: Alles auswählen

if [ "$1" = "killit" ] ; then
  kill -15 `pidof programm`
fi

Antworten