[[command_exec_exec]]
[command]*`exec`* exécuter des commandes externes::

----
/exec  -list
       [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] |-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-hsignal <nom>] <commande>
       -in <id> <texte>
       -inclose <id> [<texte>]
       -signal <id> <signal>
       -kill <id>
       -killall
       -set <id> <propriété> <valeur>
       -del <id>|-all [<id>...]

    -list : lister les commandes
      -sh : utiliser le shell pour exécuter la commande (ATTENTION : utilisez cette option SEULEMENT si tous les paramètres sont fiables, voir l'option -nosh)
    -nosh : ne pas utiliser le shell pour exécuter la commande (requis si la commande a des données non fiables, par exemple le contenu d'un message d'un autre utilisateur) (par défaut)
      -bg : lancer le processus en tâche de fond : ne pas afficher la sortie ni le code retour (non compatible avec les options -o/-n)
    -nobg : capturer la sortie du processus et afficher le code retour (par défaut)
   -stdin : créer un tuyau pour envoyer des données sur l'entrée standard du processus (avec /exec -in/-inclose)
 -nostdin : ne pas créer de tuyau pour l'entrée standard (par défaut)
  -buffer : afficher/envoyer la sortie de la commande sur ce tampon (si le tampon n'est pas trouvé, un nouveau tampon avec le nom "exec.exec.xxx" est créé)
       -l : afficher localement la sortie de la commande sur le tampon (par défaut)
       -o : envoyer la sortie de la commande au tampon (non compatible avec l'option -bg)
       -n : afficher la sortie de la commande dans un nouveau tampon (non compatible avec l'option -bg)
      -nf : afficher la sortie de la commande dans un nouveau tampon avec contenu libre (pas de coupure des mots, pas de limite sur le nombre de lignes) (non compatible avec l'option -bg)
      -cl : effacer le nouveau tampon avant d'afficher la sortie
    -nocl : ajouter au nouveau tampon sans effacer (par défaut)
      -sw : basculer vers le tampon de sortie (par défaut)
    -nosw : ne pas basculer vers le tampon de sortie
      -ln : afficher les numéros de ligne (par défaut dans un nouveau tampon seulement)
    -noln : ne pas afficher les numéros de ligne
   -flush : afficher la sortie de la commande en temps réel (par défaut)
 -noflush : afficher la sortie de la commande une fois qu'elle est terminée
   -color : action sur les couleurs ANSI dans la sortie :
               ansi : garder les codes ANSI tels quels
               auto : convertir les couleurs ANSI en couleurs WeeChat/IRC (par défaut)
                irc : convertir les couleurs ANSI en couleurs IRC
            weechat : convertir les couleurs ANSI en couleurs WeeChat
              strip : supprimer les couleurs ANSI
      -rc : afficher le code retour (par défaut)
    -norc : ne pas afficher le code retour
 -timeout : définir un délai maximum pour la commande (en secondes)
    -name : définir un nom pour la commande (pour la nommer plus tard avec /exec)
    -pipe : envoyer la sortie vers une commande WeeChat/extension (ligne par ligne) ; s'il y a des espaces dans la commande/paramètres, entourez les de guillemets ; la variable $line est remplacée par la ligne (par défaut la ligne est ajoutée après la commande, séparée par un espace) (non compatible avec les options -bg/-o/-n)
 -hsignal : envoyer la sortie sous forme de hsignal (pour être utilisé par exemple dans un trigger) (non compatible avec les options -bg/-o/-n)
 commande : la commande à exécuter ; si elle commence par "url:", le shell est désactivé et le contenu de l'URL est téléchargé et envoyé comme sortie
       id : identifiant de commande : soit le numéro ou le nom (si défini avec "-name xxx")
      -in : envoyer le texte sur l'entrée standard du processus
 -inclose : identique à -in, mais l'entrée standard est fermée après (et le texte est facultatif : sans texte, l'entrée standard est juste fermée)
  -signal : envoyer un signal au processus ; le signal peut être un entier ou l'un de ces noms : hup, int, quit, kill, term, usr1, usr2
    -kill : alias de "-signal <id> kill"
 -killall : tuer tous les processus
     -set : définir une propriété du hook (voir la fonction hook_set dans l'API de référence extension)
propriété : propriété du hook
   valeur : nouvelle valeur pour la propriété du hook
     -del : supprimer la commande terminée
     -all : supprimer toutes les commandes terminées

Les options par défaut peuvent être définies dans l'option exec.command.default_options.

Exemples :
  /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 Uptime de la machine :" uptime
  /exec -n tail -f /var/log/messages
  /exec -kill 0
----

