User Tools

Site Tools


snippets:shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
snippets:shell [2026-01-19 22:07] – Abschnitt „tmux-Sitzungen“ hinzugefügt malte70snippets:shell [2026-01-21 12:58] (current) – „fortune & cowsay“ um einen Screenshot erweitert malte70
Line 193: Line 193:
 echo "${msg}" | awk "{ if (NR >= 2) { print \"${line_prefix}\"$0; } else { print $0;} }" echo "${msg}" | awk "{ if (NR >= 2) { print \"${line_prefix}\"$0; } else { print $0;} }"
 </code> </code>
 +
 +===== Just for fun: Ein cowsay-Dalek für fortune-Cookies =====
 +
 +> Hier sollte irgendwann eine kurze Einführung stehen …
 +
 +{{ :snippets:fortune_cowsay_dalek.png?350|}}
 +
 +Installation unter macOS:
 +
 +<code bash>
 +# macOS/Homebrew: fortune, cowsay und zusätzliche "Kühe" installieren
 +brew install fortune cowsay cowsay-org/cowsay/cowsay-files
 +
 +# Suchpfad für cowsay-Kühe
 +export COWPATH="/opt/homebrew/share/cowsay/cows:/opt/homebrew/share/cowsay-files/cows"
 +</code>
 +
 +Installation unter Fedora (cowsay-files muss hier von Hand installiert werden):
 +
 +<code bash>
 +# Fedora: fortune und cowsay via Paketverwaltung installieren
 +sudo dnf install fortune-mod cowsay
 +
 +# cowsay-files aus dem Git-Repository von Hand in
 +# ~/.local installieren
 +git clone https://github.com/paulkaefer/cowsay-files
 +cd cowsay-files
 +make prefix=$HOME/.local install
 +</code>
 +
 +Natürlich sollte ''$COWPATH'' in der Shell-Konfiguration hinterlegt werden (speichert den aktuell gesetzten Wert der Vatiable dauerhaft):
 +
 +<code bash>
 +# $COWPATH in .zshenv
 +echo -e "\n\n# \$COWPATH - Search path for cowsay(1)\nexport COWPATH=\"${COWPATH}\"\n" >> ~/.zshenv
 +
 +# $COWPATH in .bashrc speichern
 +echo -e "\n\n# \$COWPATH - Search path for cowsay(1)\nexport COWPATH=\"${COWPATH}\"\n" >> ~/.bashrc
 +</code>
 +
 +Nachdem alles eingerichtet ist kann es losgehen.
 +
 +Im folgenden Beispiel wird ein kurzer (''-s'') ''fortune(6)''-Glückskeks aus der Datenbank //literature// an ''cowsay(1)'' weiter gereicht und mit einer der zusätzlichen Kühe angezeigt (wobei der Text in der Sprechblase maximal 42 Zeichen breit sein darf):
 +
 +<code bash>
 +fortune -s literature \
 + | cowsay -f dalek -W 42
 +</code>
 +
 +==== bash: Zitat von einem QOTD-Server ====
 +
 +Statt eines ''fortune(6)''-Cookies kann zumindest in der Bash auch mein //Qoute of the day//-Server abgefragt werden. Wobei dieser genau genommen auf (größtenteils deutschsprachige) fortune-Datenbanken zurück greift.
 +
 +Oder du führst das [[https://hub.docker.com/r/malte70/bbs.qotd|Docker-Image (malte70/bbs.qotd)]] selbst aus.
 +
 +**Kleine Warnung**: Das ist mein erstes selbst gebautes Image überhaupt; es erlaubt bisher kaum Anpassungen wie sonst üblich über Umgebungsvariablen.
 +
 +<code bash>
 +cowsay -f dalek -W 42 </dev/tcp/giesskanne.flachbaum.de/17
 +</code>
 +
 +> //Info-Box//
 +
 +> Die Bash erlaubt eine Eingabe-/Ausgabeumleitung von bzw. zu einem Netzwerkdienst. Dabei wird auf eine nicht wirklich existierende  Datei nach dem Muster ''/dev/tcp/<hostname>/<port>'' zugegriffen.
 +
  
snippets/shell.1768860435.txt.gz · Last modified: by malte70