[[command_exec_exec]]
[command]*`exec`* führe externe Befehle aus::

----
/exec  -list
       [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
       -in <id> <text>
       -inclose <id> [<text>]
       -signal <id> <signal>
       -kill <id>
       -killall
       -set <id> <property> <value>
       -del <id>|-all [<id>...]

   -list: zeigt laufende Befehle an
     -sh: es wird die shell verwendet um Befehle auszuführen (WARNUNG: Diese Option sollte nur verwendet werden, falls alle Argumente unbedenklich sind, siehe Option -nosh)
   -nosh: die shell wird nicht verwendet um Befehle auszuführen (wird benötigt, falls der Befehl mit sensiblen Daten hantiert. Zum Beispiel der Inhalt einer Nachricht eines anderen Users)
     -bg: führt Prozess im Hintergrund aus: gibt weder eine Prozessausgabe noch einen Rückgabewert aus (nicht kompatibel mit Optionen -o/-n)
   -nobg: gibt Prozessausgabe und Rückgabewert aus (Standardverhalten)
  -stdin: erstellt eine PIPE um Daten zu dem Prozess zu senden (mittels /exec -in/-inclose)
-nostdin: es wird keine PIPE für stdin erstellt (Standardverhalten)
 -buffer: zeigt/sendet Ausgabe des Befehls an diesen Buffer (wird der angegebene Buffer nicht gefunden wird ein neuer Bufger mit dem Namen "exec.exec.xxx" erstellt)
      -l: gibt die Ausgabe des Befehls lokal im Buffer aus (Standardverhalten)
      -o: gibt die Ausgabe des Befehls im Buffer aus (nicht kompatibel mit Option -bg)
      -n: gibt die Ausgabe des Befehls in einem neuen Buffer aus (nicht kompatibel mit Option -bg)
     -nf: gibt die Ausgabe des Befehls in einem neuen Buffer, mit einem freien Inhalt (kein Zeilenumbruch, keine Limitierung in der Anzahl der Zeilen), aus (nicht kompatibel mit Option -bg)
     -cl: der neue Buffer wird vor einer Ausgabe gelöscht
   -nocl: Ausgabe wird an neuen Buffer angehangen, ohne diesen vorher zu löschen (Standardverhalten)
     -sw: es wird zum Ausgabebuffer gewechselt (Standardverhalten)
   -nosw: es wird nicht zum Ausgabebuffer gewechselt
     -ln: legt eine Zeilennummerierung an (Standardverhalten, nur für neue Buffer)
   -noln: es wird keine Zeilennummerierung angezeigt
  -flush: die Ausgabe des Befehls findet in Echtzeit statt (Standardwert)
-noflush: die Ausgabe des Befehls wird am Ende der Ausführung ausgegeben
  -color: es wird eine der folgenden Aktionen bei ANSI Zeichenkodierungen in der Ausgabe durchgeführt:
             ansi: ANSI-Kodierung wird beibehalten
             auto: konvertiert ANSI-Farben nach WeeChat/IRC (Standardverhalten)
              irc: konvertiert ANSI-Farben nach IRC Farben
          weechat: konvertiert ANSI-Farben nach WeeChat-Farben
            strip: ANSI-Farben werden entfernt
     -rc: der Rückgabewert wird ausgegeben (Standardverhalten)
   -norc: der Rückgabewert wird unterdrückt
-timeout: gibt eine Zeitbeschränkung für den auszuführenden Befehl an (in Sekunden)
   -name: dem Befehl wird ein Name zugewiesen (um den Befehl später mittels /exec zu nutzen)
   -pipe: sendet die Ausgabe an einen Befehl von WeeChat/Erweiterung (Zeile für Zeile); sollen Leerzeichen im Befehl/Argument verwendet werden, müssen diese mit Anführungszeichen eingeschlossen werden; Variable $line wird durch die entsprechende Zeile ersetzt (standardmäßig wird die Zeile, getrennt durch ein Leerzeichen, dem Befehl nachgestellt (nicht kompatibel mit den Optionen -bg/-o/-n)
 -hsignal: sendet die Ausgabe als hsignal (um es z.B. mittels /trigger zu verwenden) (nicht kompatibel mit den Optionen -bg/-o/-n)
 command: Befehl der ausgeführt werden soll; beginnt der Befehl mit "url:", wird die shell deaktiviert und der Inhalt der URL wird heruntergeladen und im Buffer ausgegeben
      id: identifiziert eindeutig einen Befehl: entweder durch eine Nummer oder einen Namen (sofern ein Name mittels "-name xxx" zugewiesen wurde)
     -in: sendet Text an die Standardeingabe des Prozesses
-inclose: wie -in aber stdin wird danach geschlossen (und der Text ist optional: ohne Text wird stdin umgehend geschlossen
 -signal: schickt ein Signal an den Prozess; das Signal kann entweder ein Integerwert oder eines der folgenden Schlüsselworte sein: hup, int, quit, kill, term, usr1, usr2
   -kill: Alias für "-signal <id> kill"
-killall: beendet alle laufenden Prozesse
    -set: nutzt eine Hook-Fähigkeit (siehe Funktion hook_set in Anleitung für API Erweiterung)
property: Hook-Fähigkeit
   value: neuer Wert für Hook-Fähigkeit
    -del: entfernt einen beendeten Befehl
    -all: entfernt alle beendeten Befehle

Standardoptionen können in der Option exec.command.default_options bestimmt werden.

Beispiele:
  /exec -n ls -l /tmp
  /exec -n ps xu | grep weechat
  /exec -n -norc url:http://pastebin.com/raw.php?i=xxxxxxxx
  /exec -nf -noln links -dump http://weechat.org/files/doc/devel/weechat_user.en.html
  /exec -o uptime
  /exec -pipe "/print Machine uptime:" uptime
  /exec -n tail -f /var/log/messages
  /exec -kill 0
----

