Making a handy amulecmd script-de
Contents
Was ist das Ziel?
Dieses Skript ist dazu gedacht Informationen über aMuleds Tätigkeiten schön aufbereitet, mittels aMuleCMD, anzuzeigen. Da es auf das "show log" Kommando zurückgreift, vergewissere dich das du aMule Version 2.1.2 oder höher einsetzt.
Das Standard Skript
Das Skript selbst ist ziemlich einfach gehalten:
#!/bin/sh # Version 20060330
domule() { amulecmd -c "$@" | grep "^ >" } domule "show log" | sed " /: Failed to / {s/: \(.*\)/: `tput setaf 1`\1`tput sgr0`/;} /: Finished downloading/ {s/: \(.*\)/: `tput setaf 2`\1`tput sgr0`/;} /: Downloading / {s/: \(.*\)/: `tput setaf 3`\1`tput sgr0`/;} " echo "" domule "status" | sed " /Download:/ {s/\(Download:\)\(.*\)/\1`tput setaf 3`\2`tput sgr0`/;} /Upload:/ {s/\(Upload:\)\(.*\)/\1`tput setaf 2`\2`tput sgr0`/;} " domule "reset" >/dev/null
Anmerkung:
- Dies setzt die sh Shell, den grep Befehl und den sed Befehl voraus. Wenn dein System kein sh besitzt, musst du es entweder installieren oder die erste Zeile ändern auf z.B. /bin/bash.
Wenn du dieses Skript ausführst bekommst du etwa so etwas:
Wie kann ich die Farben ändern
Das "tput set <Zahl>" wird genutzt um den Farbcode einzufügen. Die verschiedenen Zahlen stehen für verschiedene Farben. Lies "man tput" um zu sehen was damit noch alles möglich ist
Wie kann ich die Farben entfernen
Wenn du überhaupt keine Farben willst, kannst du die sed Befehle entfernen:
#!/bin/sh # Version 20060330
domule() { amulecmd -c "$@" | grep "^ >" } domule "show log" echo "" domule "status" domule "reset" >/dev/null
Schön, aber ich will nur die fertigen Downloads sehen
Dies kann durch Nutzung des grep-Befehls erreicht werden:
#!/bin/sh # Version 20060330
domule() { amulecmd -c "$@" | grep "^ >" } domule "show log" | grep ": Finished downloading" || echo " > No finished downloads"
echo "" domule "status" domule "reset" >/dev/null
Wie werden diese Skripte genutzt
Speichere sie einfach in einer Textdatei und mache sie ausführbar (z.B., unter Linux durch 'chmod u+x <DeineSkriptDatei>'). Dies wird auf den meisten Betriebsystemen funktionieren, außer unter Windows, das die Standardausgabe keine Shell in diesem Sinne besitzt.
Schlußbemerkung
Es gibt hunderte Sachen die du mit der Ausgabe von "show log" anstellen kannst, die nur von deiner Vorstellungskraft begrenzt werden ;). Wenn du das Verhalten des Skripts veränder willst, befasse dich einfach mit Befehlen grep (einfach), awk (ein bisschen schwerer) und sed (kann kopmpliziert werden).