Wie kann man die Systemglocke von der Befehlszeile aus läuten?

2855
Sekhemty

Ich verwende einige Bash-Skripte unter Linux, deren Ausführung einige Zeit in Anspruch nimmt. Ich möchte am Ende einen Befehl hinzufügen, um die Systemglocke zu läuten, wenn diese Aufgaben erledigt sind, damit ich benachrichtigt werden kann.

Was ist der richtige Befehl dafür? (Bitte beachten Sie, dass ich mit einem Ton und möglicherweise mit einer Nachricht benachrichtigt werden muss, damit ich jede Lösung in dieser Hinsicht akzeptieren kann).

7
Das Abstimmen ohne Erklärung ist nicht sehr nützlich ... Sekhemty vor 9 Jahren 1
http://unix.stackexchange.com/q/1974/1932 paradroid vor 9 Jahren 0
Diese Lösungen funktionieren für mich nicht. Sekhemty vor 9 Jahren 0
Was sagt Ihnen Ihre Forschung? Was * genau * hast du ausprobiert und was hat nicht funktioniert? slhck vor 9 Jahren 4
Überprüfen Sie diese Antwort unter http://unix.stackexchange.com/questions/1974/how-do-i-make-my-pc-speaker-beep MariusMatutiae vor 9 Jahren 0
Ich habe die Befehle aus den Antworten auf die verknüpfte Frage ausprobiert, aber sie funktionieren nicht Sekhemty vor 9 Jahren 0
`(Lautsprechertest -t Sinus -f 440) & pid = $! ; Schlaf 0.4s; kill -9 $ pid` erfordert, dass ALSA installiert ist. Immer [von einer dieser Antworten] (http://unix.stackexchange.com/a/163716/66388) Hastur vor 9 Jahren 0
Ich denke, Sie können eine interessante Antwort [über die Benachrichtigung von slhck] finden (http://superuser.com/a/345455/257269); der zweite Teil. Hastur vor 9 Jahren 0
Vielen Dank an alle, ich habe versucht, ALSA neu zu installieren, und jetzt funktioniert es. Ich weiß nicht warum, aber selbst wenn es vorher installiert wurde, hat es nicht funktioniert; Wenn jemand seine Vorschläge zu diesen Befehlen auf eine vollständige Antwort setzen möchte, kann ich sie bestätigen und akzeptieren. Sekhemty vor 9 Jahren 0

2 Antworten auf die Frage

9
svenper

tputbel( GNU, Net - / Open BSD)

oder

tputbell( Kostenlose BSD)

ist eine semi-portable Lösung.

"tput bel" funktioniert auf macOS, wie es sollte. John Dallman vor 6 Jahren 0
Funktioniert auch auf dem Cygwin-Bash-Terminal. ysap vor 6 Jahren 0
5
Rolnik

Versuchen Sie diesen Befehl:

echo -e "\07" 
Das `-e` wird benötigt, um die Escape-Sequenz` \ 07` interpretieren zu können. FKEinternet vor 6 Jahren 0
Funktioniert auch auf dem Cygwin-Bash-Terminal. ysap vor 6 Jahren 0