command not foundDieses Bild hat ein leeres alt-Attribut; sein Dateiname ist shira128x128.png.

Shira, meine Katze, kommt sporadisch zur Tastatur, und reibt ihren Kopf daran – v.a. wenn ich die Tastatur auf dem Schlafsofa auf dem Rücken liegend auf dem Bauch balanciere.

Sie schrubbt sich den Nacken und gibt v.a. die am Rande liegenden Zeichen des Ziffernblocks 0,+ und Enter ein. Das sind keine installierten Kommandos/Programmnamen, so dass da nicht allzu viel passieren kann, aber der Rechner reagiert allenfalls mit

000,000+0000++++,,,: Befehl nicht gefunden.

Das ist natürlich nicht sehr einladend für meine Katze. Meine erste Lösung (v0.1) war, dass der Rechner bei signifikanten Shirakommandos mit `echo Hallo Shira` reagiert. Aber Lesen ist nicht ihre Stärke.

Also veröffentlichte ich bald darauf v0.2, die eine Audioaufnahme von 2-3 Sekunden abspielt, die „Hallo Shira, miau“ wiedergibt.

Auf Github https://github.com/Stefan-Wagner/shira kann man den Code runterladen.

Im Wesentlichen sind es 2-3 zusätzliche Zeilen, die ich der Funktion, die ich in /etc/bash.bashrc gefunden habe, zugefügt habe, und ich lade dieses in meinem eigenen /bin-Ordner gespeicherte Script mit dieser Funktion aus meiner ~/.bashrc via source-Befehl (`source ~/bin/shira.sh`) um System und meinen Kram sauber getrennt zu halten.

Ändert man die /etc/bash.bashrc direkt, bekommt man evtl. Konflikte bei Updates. Migriert man all seine Einstellungen auf einen anderen Rechner, vergisst man solche Details auch gerne.

Im Unterschied zur Originalfunktion beginnt meine mit:

if [[ $1 =~ ^[0,+]+$ ]]
then
    echo hallo $katze
    aplay ~/lib/helloMyCat.wav 2>/dev/null &
elif [ -x /usr/lib/command-not-found ]; then

Das GLEICH-TILDE ist ein regex-Vergleich, und `[0,+]` beschreibt die Gruppe der 3 Zeichen 0, Komma und Plus, von denen mindestens eins, aber beliebig viele vorkommen können (+), und es funktioniert wie gewollt, es gibt „Hallo Shira“ auf dem Bildschirm und „Hallo Shira, Miau“ auf dem Lautsprecher aus. In Zeile 5, beim elif, beginnt das Original erst mit if.

Wenn Sie auch etwas auf dem Lautsprecher ausgeben wollen, müssen Sie es zuvor selbst aufnehmen und entsprechend speichern und aufrufen. Ich habe mir einen eigenen Ordner ~/lib gemacht, in dem ich die Datei gespeichert habe, aber für viele Nutzer wird das übertrieben sein.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..