Making a handy amulecmd script-de

From AMule Project FAQ
Jump to: navigation, search
English | Deutsch

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).