Schrift
[thread]6551[/thread]

Ausgabe auf Bildschirm unterdrücken: bei Ausführung von Systembefehl



<< >> 3 Einträge, 1 Seite
mordur
 2004-09-01 11:43
#49744 #49744
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
moins,

ich möchte einen Systembefehl ausführen und das Ergebnis auslesen. Trotzdem möchte ich verhindern, das das Programm Meldungen ausgibt.
Code: (dl )
1
2
3
4
5
6
7
8
9
if(open(APP,"file -bi meineDatei | "))
{
while(<APP>)
{
chomp();
# mache was mit Ausgabe
}
close(APP);
}

das Blöde ist, das auf dem Bildschirm immer noch Meldungen dieser Art auftauchen:
Code: (dl )
file: Using regular magic file `/usr/share/misc/magic.mime'

Das soll aber unterdrückt werden. Jemand eine Idee?

gruß mordur
renee
 2004-09-01 11:51
#49745 #49745
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du musst STDERR auf STDOUT umleiten (oder sonstwohin)
Code: (dl )
1
2
3
4
5
6
7
8
9
if(open(APP,"file -bi meineDatei 2>&1 | "))
{
 while(<APP>)
 {
   chomp();
   # mache was mit Ausgabe
 }
 close(APP);
}


oder nach /dev/null:
Code: (dl )
1
2
3
4
5
6
7
8
9
if(open(APP,"file -bi meineDatei 2>/dev/null | "))
{
 while(<APP>)
 {
   chomp();
   # mache was mit Ausgabe
 }
 close(APP);
}
\n\n

<!--EDIT|renee|1094025101-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
mordur
 2004-09-01 12:12
#49746 #49746
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
jo danke, so gehts.
<< >> 3 Einträge, 1 Seite



View all threads created 2004-09-01 11:43.