Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


tcl:open

open

Ouvre un canal basé sur un fichier ou un pipeline

Syntaxe

open fileName
open fileName access
open fileName access permissions

Description

Cette commande ouvre un fichier, un port série, ou un pipeline de commandes et retourne un identificateur de canal qui peut être employé dans les appels suivants des commandes comme read, puts, et close. Si le premier caractère de fileName n'est pas | alors la commande ouvre un fichier: fileName donne le nom du fichier à ouvrir, et il doit se conformer aux conventions décrite dans la page de manuel filename.

L'argument access, si présent, indique la façon de laquelle le fichier (ou commande pipeline) sera accédé. Dans la première forme access peut avoir quelconque des valeurs suivantes:

  • r Ouvre le fichier pour la lecture seulement; le fichier doit déjà exister. C'est la valeur par défaut si access n'est pas spécifié.
  • r+ Ouvre le fichier pour la lecture et l'écriture; le fichier doit déjà exister.
  • w Ouvre le fichier pour l'écriture seulement. Le tronque s'il existe. S'il n'existe pas, crée un nouveau fichier.
  • w+ Ouvre le fichier pour la lecture et l'écriture. Le tronque s'il existe. S'il n'existe pas, crée un nouveau fichier.
  • a Ouvre le fichier pour l'écriture seulement. Si le fichier n'existe pas, crée un nouveau fichier vide. Positionne le curseur à la fin du fichier.
  • a+ Ouvre le fichier pour la lecture et l'écriture. Si le fichier n'existe pas, crée un nouveau fichier vide. Positionne le curseur à la fin du fichier.

Dans la seconde forme, access consiste en une liste de quelconque des flags suivants, chacun d'eux ayant la signification standard POSIX. Un des flags doit être soit RDONLY, WRONLY ou RDWR.

  • RDONLY Ouvre le fichier pour la lecture seulement.
  • WRONLY Ouvre le fichier pour l'écriture seulement.
  • RDWR Ouvre le fichier en lecture et écriture.
  • APPEND Positionne le curseur à la fin du fichier avant chaque écriture.
  • CREAT Crée le fichier s'il n'existe pas déjà.
  • EXCL Si CREAT est également spécifié, une erreur est générée si le fichier existe déjà.
  • NOCTTY Si le fichier est un terminal, ce flag empêche le fichier de devenir le terminal de contrôle du processus.
  • NONBLOCK Empêche le processus de bloquer pendant l'ouverture du fichier, et éventuellement pendant les opérations I/O suivantes. Le comportement exact de ce flag est système- et périphérique-dépendant; son emploi est déconseillé (il vaut mieux utiliser la commande fconfigure pour mettre un fichier en mode non bloquant). Pour des détails se référer à la documentation de votre système sur le flag O_NONBLOCK de l'appel système open
  • TRUNC Si le fichier existe il est tronqué à longueur zéro.

Si un nouveau fichier est créé en même temps qu'ouvert, permissions (un entier) est utilisé pour fixer les permissions pour le nouveau fichier en conjonction avec le masque de création fichier. Permissions est par défaut de 0666.

Pipelines

Si le premier caractère de fileName est | alors les caractères restants de fileName sont traités comme une liste d'arguments qui décrivent un pipeline à appeler, dans le même style que les arguments à exec. Dans ce cas, l'identificateur de canal renvoyé par open peut être employé pour écrire à l'entrée du pipe ou lire de sa sortie, dépendant de la valeur de access. Si un accès écriture-seule est utilisé (ex. access est w), alors la sortie standard du pipeline est dirigée vers la sortie standard courante sauf si écrasé par la commande. Si un accès lecture-seule est utilisé (ex. access est r), l'entrée standard du pipeline est prise de l'entrée standard courante sauf si écrasé par la commande.

Exemples

Voir aussi

tcl/open.txt · Dernière modification : 2023/10/12 09:29 de CrazyCat