Mailinglist Archive: opensuse-de (1184 mails)

< Previous Next >
Re: OT: mit Skript (Perl, bash) einen Ton ausgeben ohne geöffnete Shell (als at-Job)
Hallo,

Am Mon, 20 Aug 2007, Timothy Kesten schrieb:
da hier auch schon des öfteren Perl-Fragen beantwortet wurden,
versuche ich es auch einmal. Ich möchte per atd ein Skript laufen
lassen, welches unter anderem auch 4 x "beep" ;-) machen soll. Das
Skript selbst klappt ganz gut. Und wird es in einer shell ausgeführt,
"beept" der Rechner auch. Nur eben als "at-Job" nicht nicht :-(

In der bash:

beep -r 4

Siehe 'man beep'.

Sollte sich selber ein Terminal schnappen (bzw. AFAIK nimmt es
'/dev/console', bei Problemen also dessen Rechte prüfen).

In Perl:

====
#!/usr/bin/perl -w
use strict;
use Time::HiRes;
open(T, ">/dev/console") or die "$!\n";
for(1..4) { print T "\a\n"; Time::HiRes::sleep(0.5); }
close(T) or die "$!\n";
====

zum 'sleep' siehe 'perldoc Time::HiRes', das CORE::sleep kann nämlich
nur ganze Sekunden. Alternativ 'usleep' verwenden:

Time::HiRes::usleep(500000);

Die Funktionen von Time::HiRes kann man natürlich auch importieren,
hier hielt ich's so für sinnvoller.

-dnh

--
Ich habe da eine Theorie: Betriebssysteme melden Fehler und wollen,
dass sie behoben werden. Bei Systemen wie Windows 9x sind die
Fehler wesentlicher Bestandteil und kein Grund, sich Sorgen zu
machen. -- Steffen Lauterkorn
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References