1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
[[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
----
|