sourCEntral - mobile manpages

pdf

COMMANDES INTERNES BASH

NOM

bash−builtins − Commandes internes de bash, consultez bash(1)

SYNOPSIS

bash définit les commandes internes suivantes : :, ., [, alias, bg, bind, break, builtin, case, cd, command, compgen, complete, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, fc, fg, getopts, hash, help, history, if, jobs, kill, let, local, logout, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, type, typeset, ulimit, umask, unalias, unset, until, wait, while.

COMMANDES INTERNES DE BASH

Sauf indication contraire, chaque commande interne décrite dans ce paragraphe comme acceptant des options précédées par accepte également la notation −− pour signaler la fin des options. Les commandes internes :, true, false et test n’acceptent aucune option et −− est ignoré. Les commandes internes exit, logout, break, continue, let et shift acceptent et traitent les arguments commençant par sans avoir besoin de −−. Les autres commandes internes qui acceptent les arguments mais qui ne sont pas déclarés explicitement comme acceptant des options considèrent les arguments commençant par comme des options non valides, donc −− est obligatoire pour éviter cette interprétation.
:
[arguments]

Sans effet ; cette commande ne fait rien d’autre que développer les arguments et effectuer toute redirection indiquée. Un code final de zéro est renvoyé.

. fichier [arguments]
source
fichier [arguments]

Lire et exécuter les commandes du fichier dans l’environnement de l’interpréteur actuel, puis renvoyer l’état final de la dernière commande exécutée dans fichier. Si le nom du fichier ne contient pas de barre oblique, les chemins d’accès contenus dans PATH sont parcourus pour rechercher le répertoire contenant le fichier. Lorsqu’il est recherché dans PATH le fichier n’a pas besoin d’être exécutable. Lorsque bash n’est pas en mode posix, le répertoire de travail actuel est finalement examiné si aucun fichier n’est trouvé dans PATH. Si l’option sourcepath de la commande interne shopt est désactivée, le PATH n’est pas parcouru. Si des arguments sont fournis, ils sont transmis dans les paramètres positionnels lorsque le fichier est exécuté. Sinon les paramètres positionnels ne sont pas modifiés. L’état renvoyé est l’état de la dernière commande terminée au sein du script (0 si aucune commande n’a été exécutée) et faux si le fichier n’est pas trouvé ou ne peut être lu.

alias [−p] [nom[=valeur] ...]

La commande alias sans argument ou avec l’option −p affiche sur la sortie standard la liste des alias actuellement définis, sous la forme nom=valeur. Lorsque des arguments sont fournis, un alias est créé pour chaque nom auquel on a donné une valeur. Une espace finale dans une valeur conduira à la recherche d’alias dans le mot suivant lors du développement de l’alias. Pour tous les noms sans valeur fournie dans la liste d’arguments, le nom et la valeur de l’alias sont affichés. La commande alias renvoie vrai, à moins qu’un nom n’ait été indiqué pour lequel aucun alias n’a été défini.

bg [tâche ...]

Reprendre en arrière−plan chaque tâche suspendue, comme si elle avait été lancée avec &. Si aucune tâche n’est précisée, la notion d’interpréteur de tâche actuelle est utilisée. bg tâche renvoie 0 sauf si le contrôle des tâches est désactivé, ou, quand le contrôle des tâches est activé, si une tâche précisée n’a pas été trouvée ou a été lancée sans contrôle de tâches.

bind [−m jeu_de_raccourcis] [−lpsvPSVX]
bind
[−m jeu_de_raccourcis] [−q fonction] [−u fonction] [−r
suite_de_touches
]
bind
[−m jeu_de_raccourcis] −f fichier
bind
[−m jeu_de_raccourcis] −x
suite_de_touches
:commande_de_l’interpréteur
bind
[−m jeu_de_raccourcis] suite_de_touches:nom_de_fonction
bind
commande_readline

Afficher les associations de touches readline actuelles et les raccourcis de fonctions, associer une suite de touches à une fonction ou une macro readline ou créer une variable readline. Chaque argument qui n’est pas une option est une commande comme elle devrait apparaître dans .inputrc, mais chaque raccourci ou commande doit être fourni comme un argument indépendant ; par exemple « "\C−x\C−r": re−read−init−file ». Les options, si fournies, ont les significations suivantes :
−m
jeu_de_raccourcis

Utiliser le jeu_de_raccourcis comme jeu de raccourcis devant être concerné par les raccourcis ultérieurs. Les noms de jeux_de_raccourcis possibles sont emacs, emacs−standard, emacs−meta, emacs−ctlx, vi, vi−move, vi−command et vi−insert. vi est équivalent à vi−command ; emacs est équivalent à emacs−standard.

−l

Afficher la liste des noms de toutes les fonctions readline.

−p

Afficher les noms des fonctions readline et leurs raccourcis de façon à pouvoir les relire.

−P

Afficher les noms des fonctions readline et leurs raccourcis.

−s

Afficher les suites de touches readline associées aux macros et les chaînes correspondantes, de façon à pouvoir les relire.

−S

Afficher les suites de touches readline associées aux macros et les chaînes correspondantes.

−v

Afficher les noms des variables readline et leurs valeurs de façon à pouvoir les relire.

−V

Afficher les noms des variables readline et leurs valeurs.

−f fichier

Lire les raccourcis clavier dans fichier.

−q fonction

Rechercher les touches permettant d’appeler la fonction indiquée.

−u fonction

Dissocier toutes les touches associées à fonction.

−r suite_de_touches

Supprimer tout raccourci actuel pour la suite_de_touches.

−x suite_de_touches:commande_de_l’interpréteur

Conduire la commande_de_l’interpréteur à être exécutée chaque fois que la suite_de_touches est saisie. Quand la commande_de_l’interpréteur est exécutée, l’interpréteur configure la variable READLINE_LINE au contenu du tampon de ligne de readline et la variable READLINE_POINT à la position actuelle du curseur d’insertion. Si la commande exécutée modifie les valeurs de READLINE_LINE ou READLINE_POINT, ces nouvelles valeurs seront prises en considération dans l’état d’édition.

−X

Afficher toutes les suites de touches associées aux commandes de l’interpréteur et aux commandes associées pour pouvoir être réutilisées en entrée.

La valeur renvoyée est 0, à moins qu’une option inconnue ne soit indiquée ou qu’une erreur ne se soit produite.

break [n]

Sortir d’une boucle for, while, until ou select. Si n est indiqué, sortir de n niveaux de boucles. n doit être ≥ 1. Si n est supérieur au nombre de boucles imbriquées, sortir de toutes les boucles. La valeur renvoyée est 0, à moins que n ne soit pas supérieur ou égal à 1.

builtin commande_interne [arguments]

Exécuter la commande interne de l’interpréteur indiquée, en lui passant les arguments, puis renvoyer son état final. C’est utile lorsqu’une fonction est définie avec le même nom qu’une commande interne, et que cette commande est appelée depuis l’intérieur de la fonction. La commande interne cd est souvent redéfinie de cette façon. L’état renvoyé est faux si la commande_interne n’est pas une commande interne de l’interpréteur.

caller [expr]

Renvoyer le contexte de tout appel de sous−programme actif (une fonction de l’interpréteur ou un script lancé avec les commandes internes . ou source). Sans expr, caller affiche le numéro de ligne et le nom de fichier du sous−programme actuel. Si un entier positif est fourni comme expr, caller affiche le numéro de ligne, le nom du sous−programme et le nom de fichier source correspondant à la position dans la pile d’appels d’exécution actuelle. Cette information supplémentaire peut être utilisée, par exemple, pour afficher une trace de la pile. La trame actuelle est la trame 0. La valeur renvoyée est 0, à moins que l’interpréteur ne soit pas en train d’exécuter un sous−programme ou que expr ne corresponde pas à une position correcte dans la pile d’appels.

cd [−L|[−P [−e]] [−@]] [rép]

Remplacer le répertoire de travail actuel par rép. Si rép n’est pas fourni, la valeur de la variable d’interpréteur HOME est la valeur par défaut. Tous les arguments supplémentaires suivant rép sont ignorés. La variable CDPATH définit des chemins de recherche pour trouver le répertoire contenant rép : tous les noms de répertoire contenus dans CDPATH sont parcourus à la recherche de rép. Les répertoires possibles y sont fournis dans une liste séparés par des deux−points « ». Un nom de répertoire NULL dans CDPATH est équivalent au répertoire actuel, c’est−à−dire « ». Si rép commence par une barre oblique (/), alors CDPATH n’est pas utilisé. L’option −P force cd à n’employer que la structure de répertoires physiques en résolvant les liens symboliques en traversant rép et avant de traiter les instances de .. dans rép (consultez aussi l’option −P de la commande interne set) ; l’option −L force à suivre les liens symboliques en résolvant les liens symboliques après le traitement des instances de .. dans rép. Si .. apparaît dans dir, il est traité en supprimant le composant de chemin précédant directement rép, jusqu’à une barre oblique ou le début de rép. Si l’option −e est fournie avec −P, et que le répertoire de travail actuel ne peut pas être déterminé avec succès après un changement de répertoire avec succès, cd renverra un état d’échec. Sur les systèmes qui le permettent, l’option −@ présente les attributs étendus associés à un fichier comme à un répertoire. Un argument est converti en $OLDPWD avant d’essayer un changement de répertoire. Si un nom de répertoire non vide de CDPATH est utilisé ou si est le premier argument et si le changement de répertoire réussit, le chemin absolu du nouveau répertoire de travail est écrit sur la sortie standard. La valeur renvoyée est vrai si le changement de répertoire a réussi, faux sinon.

command [−pVv] commande [arguments ...]

Exécuter la commande avec les arguments indiqués, mais en supprimant le processus habituel de recherche des commandes. Seules les commandes internes et les commandes trouvées dans PATH seront exécutées. Si l’option −p est indiquée, la recherche de la commande est effectuée en utilisant une valeur par défaut pour PATH garantissant de trouver tous les utilitaires standards. Si l’option −V ou −v est fournie, une description de la commande est affichée. L’option −v conduit à n’afficher qu’un seul mot indiquant la commande ou le nom de fichier utilisé pour appeler la commande. L’option −V fournit une description plus prolixe. Si l’option −V ou −v est fournie, l’état final est 0 si la commande a été trouvée et 1 sinon. Si aucune option n’est fournie et si une erreur s’est produite ou si la commande ne peut être trouvée, l’état final est 127. Sinon, l’état final de la commande interne est l’état final de commande.

compgen [option] [mot]

Produire les correspondances des complètements possibles pour mot selon les options, qui peuvent être toute option acceptée par la commande interne complete à l’exception de −p et −r et écrit le résultat sur la sortie standard. Lorsqu’on utilise les options −F ou −C, les diverses variables de l’interpréteur créées par les outils de complètement programmables, lorsque disponibles, n’auront pas de valeurs utilisables.

Les correspondances seront produites de la même façon que si le programme de complètement programmable les avait produites directement à partir d’une spécification de complètement avec les mêmes attributs. Si mot est indiqué, seuls les complètements qui correspondent à mot sont affichés.

La valeur renvoyée est vrai, sauf si une option incorrecte a été fournie ou si aucune correspondance n’a été produite.

complete [−abcdefgjksuv] [−o option−complètement] [−DE] [−A action] [−G
globpat
] [−W liste_de_mots] [−F fonction] [−C commande]

[−X motif_filtre] [−P préfixe] [−S suffixe] nom [nom ...]

complete −pr [−DE] [nom ...]

Indiquer la façon de compléter les arguments de chaque nom. Si l’option −p est fournie ou si aucune option n’est fournie, les spécifications de complètement existantes sont affichées de telle façon qu’elles puissent être réutilisées comme entrée. L’option −r retire une spécification de complètement à chaque nom fourni ou, si aucun nom n’est fourni, toutes les spécifications de complètement. L’option −D indique que les options restantes et les actions devraient s’appliquer à la commande de complètement par « défaut », c’est−à−dire le complètement essayé sur une commande pour laquelle aucun complètement n’a été préalablement défini. L’option −E indique que les options restantes et les actions devraient s’appliquer à la commande de complètement « vide », c’est−à−dire le complètement essayé sur une ligne vide.

Le processus d’application de ces spécifications de complètement, lorsqu’un complètement de mot est tenté, est décrit ci−dessus dans Complètement programmable.

Les autres options, si indiquées, ont les significations suivantes. Les arguments des options −G, −W et −X (et, si nécessaire, les options −P et −S) devraient être protégées pour éviter leur développement avant que la commande interne complete ne soit appelée.
−o
option−complètement

L’option−complètement commande plusieurs aspects du comportement des spécifications de complètement au−delà de la simple production de complètement. option−complètement peut être l’une des suivantes :
bashdefault

Effectuer le reste des complètements par défaut de bash si la spécification de complètement ne produit aucune correspondance.

default

Utiliser le complètement de nom de fichier par défaut de readline si la spécification de complètement ne produit aucune correspondance.

dirnames

Effectuer le complètement de nom de répertoire si la spécification de complètement ne produit aucune correspondance.

filenames

Indiquer à readline que la spécification de complètement produit des noms de fichiers, ainsi il peut effectuer tout traitement spécifique aux noms de fichiers (comme ajouter une barre oblique aux noms de répertoires, protéger les caractères spéciaux ou supprimer les espaces de fin de ligne). Destinée à être utilisée avec les fonctions de l’interpréteur.

noquote

Indiquer à readline de protéger les mots complétés s’il s’agit de noms de fichier (la protection des noms de fichier est par défaut).

nospace

Indiquer à readline de ne pas ajouter une espace (comportement par défaut) aux mots complétés en fin de ligne.

plusdirs

Après création de toutes les correspondances définies par la spécification de complètement, une tentative de complètement de nom de répertoire est effectuée et toutes les correspondances sont ajoutées aux résultats des autres actions.

−A action

L’action peut être l’une des suivantes pour produire une liste des complètements possibles :

alias

Noms d’alias. Peut également être indiquée avec −a.

arrayvar

Noms de variable de type tableau.

binding

Noms de raccourci clavier readline.

builtin

Noms de commandes internes de l’interpréteur. Peut également être indiquée avec −b.

command

Noms de commande. Peut également être indiquée avec −c.

directory

Noms de répertoire. Peut également être indiquée avec −d.

disabled

Noms de commandes internes de l’interpréteur désactivées.

enabled

Noms de commandes internes de l’interpréteur activées.

export

Noms de variables de l’interpréteur exportées. Peut également être indiquée avec −e.

file

Noms de fichier. Peut également être indiquée avec −f.

function

Noms de fonctions de l’interpréteur.

group

Noms de groupe. Peut également être indiquée avec −g.

helptopic

Sujets de l’aide acceptés par la commande interne help.

hostname

Noms de machine tels qu’ils sont extraits du fichier indiqué par la variable de l’interpréteur HOSTFILE.

job

Noms de tâche si le contrôle des tâches est actif. Peut également être indiquée avec −j.

keyword

Mots réservés de l’interpréteur. Peut également être indiquée avec −k.

running

Noms de tâches en cours d’exécution si le contrôle des tâches est actif.

service

Noms de service. Peut également être indiquée avec −s.

setopt

Arguments corrects de l’option −o de la commande interne set.

shopt

Noms des options d’interpréteur acceptées par la commande interne shopt.

signal

Noms de signaux.

stopped

Noms de tâches suspendues si le contrôle des tâches est actif.

user

Noms d’utilisateur. Peut également être indiquée avec −u.

variable

Noms de toutes les variables de l’interpréteur. Peut également être indiquée avec −v.

−C commande

La commande est exécutée dans un environnement de sous−interpréteur et sa sortie est utilisée comme complètements possibles.

−F fonction

La fonction de l’interpréteur est exécutée dans l’interpréteur actuel. Lorsqu’une fonction est exécutée, le premier argument ($1) est le nom de la commande dont les arguments doivent être complétés, le deuxième argument ($2) est le mot à compléter et le troisième argument ($3) est le mot précédant celui devant être complété sur la ligne de commande actuelle. Lorsqu’elle finit, les complètements possibles sont récupérés à partir de la valeur de la variable de type tableau COMPREPLY.

−G globpat

Le motif de développement des chemins globpat est développé pour produire les complètements possibles.

−P préfixe

préfixe est ajouté au début de chaque complètement possible après application de toutes les autres options.

−S suffixe

suffixe est ajouté à chaque complètement possible après application de toutes les autres options.

−W liste_de_mots

La liste_de_mots est découpée en utilisant les caractères de la variable spéciale IFS comme délimiteurs et chaque mot résultant est développé. Les complètements possibles sont les éléments de la liste résultante qui correspondent au mot en cours de complètement.

−X motif_filtre

motif_filtre est un motif utilisé pour le développement des chemins. Il est appliqué à la liste des complètements possibles produite par les options et arguments précédents et chaque complètement correspondant à motif_filtre est supprimé de la liste. Un ! au début du motif_filtre inverse le motif ; dans ce cas, tout complètement qui ne correspond pas à motif_filtre est supprimé.

La valeur renvoyée est vrai, sauf si une option incorrecte a été fournie, si une option comme −p ou −r a été fournie sans un nom d’argument, si une tentative a été faite pour supprimer une spécification de complètement pour un nom pour lequel il n’existe pas de spécification, ou si une erreur est survenue lors de l’ajout d’une spécification de complètement.

compopt [−o option] [−DE] [+o option] [nom]

Modifier les options de complètement pour chaque nom en fonction des options, ou pour le complètement en cours d’exécution si aucun nom n’est fourni. Si aucune option n’est donnée, afficher les options de complètement pour chaque nom ou pour le complètement actuel. Les valeurs d’options possibles sont celles décrites ci−dessus pour la commande interne complete. L’option −D indique que les options restantes et les actions devraient s’appliquer à la commande de complètement par « défaut » ; c’est−à−dire le complètement essayé sur une commande pour laquelle aucun complètement n’a été préalablement défini. L’option −E indique que les options restantes et les actions devraient s’appliquer à la commande de complètement par « vide » ; c’est−à−dire le complètement essayé sur une ligne vide.

La valeur renvoyée est vrai, à moins qu’une option incorrecte ait été fournie, qu’une tentative ait été faite pour modifier les options pour un nom pour lequel il n’existe pas de spécification de complètement, ou bien qu’une erreur de sortie soit survenue.

continue [n]

Reprendre l’exécution à l’itération suivante d’une boucle for, while, until ou encore select. Si n est indiqué, reprendre l’exécution à la n−ième boucle imbriquée. n doit être ≥ 1. Si n est supérieur au nombre de boucles imbriquées, l’exécution reprend à la boucle la plus externe (la boucle « au sommet »). La valeur renvoyée est 0, à moins que n ne soit supérieur ou égal à 1.

declare [−aAfFgilnrtux] [−p] [nom[=valeur] ...]
typeset
[−aAfFgilnrtux] [−p] [nom[=valeur] ...]

Déclarer des variables ou leur fournir des attributs. Si aucun nom n’est indiqué, afficher les valeurs des variables. L’option −p affichera les attributs et les valeurs de chaque nom. Quand −p est utilisée avec des arguments nom, les options supplémentaires, à part −f et −F, sont ignorées. Quand −p est fourni sans argument nom, les attributs et valeurs de toutes les variables ayant des attributs indiqués par les options additionnelles seront affichés. Si aucune autre option n’est fournie avec −p, declare affichera les attributs et valeurs de toutes les variables de l’interpréteur. L’option −f limite l’affichage aux fonctions de l’interpréteur. L’option −F empêche l’affichage des définitions de fonctions : seuls le nom de la fonction et ses attributs sont affichés. Si l’option d’interpréteur extdebug est activée en utilisant shopt, le nom du fichier source et le numéro de ligne où la fonction est définie sont aussi affichés. L’option −F implique −f. L’option −g force la création ou la modification de variables avec une portée globale, même si declare est exécutée dans une fonction de l’interpréteur. Elle est ignorée dans tous les autres cas. Les options suivantes permettent de restreindre l’affichage aux variables dotées de certains attributs ou de configurer les attributs des variables :

−a

Chaque nom est une variable de type tableau indicé (consultez Tableaux ci−dessus).

−A

Chaque nom est une variable de type tableau associatif (consultez Tableaux ci−dessus).

−f

Utiliser seulement les noms de fonctions.

−i

La variable est traitée comme un entier ; l’évaluation arithmétique (consultez ÉVALUATION ARITHMÉTIQUE ci−dessus) est effectuée lorsqu’une valeur est affectée à la variable.

−l

Quand cette variable contient une valeur, toutes les majuscules seront converties en minuscules. L’attribut majuscule est désactivé.

−n

Donner à chaque nom l’attribut nameref, le rendant une référence de nom vers une autre variable. Cette autre variable est définie par la valeur de nom. Toutes les références et affectations de nom, à part la modification de l’attribut −n lui−même, sont réalisées sur la variable référencée par la valeur de nom. L’attribut −n ne peut pas être appliqué aux variables de type tableau.

−r

Rendre les noms accessibles en lecture seule. Plus aucune valeur ne pourra leur être affectée et ils ne pourront plus être détruits.

−t

Donner à chaque nom l’attribut trace. Les fonctions tracées héritent des captures de DEBUG et RETURN de l’interpréteur appelant. L’attribut trace n’a pas de signification spéciale pour les variables.

−u

Quand cette variable contient une valeur, toutes les minuscules seront converties en majuscules. L’attribut minuscule est désactivé.

−x

Marquer les noms pour qu’ils soit exportés dans l’environnement des commandes ultérieures.

En utilisant « + » à la place de « − », l’attribut correspondant est désactivé, aux exceptions que +a ne peut pas être utilisé pour détruire une variable tableau et que +r n’enlèvera pas l’attribut lecture seule. Quand utilisés dans une fonction, declare et typeset rendent chaque nom local, comme avec la commande local sauf si l’option −g est fournie. Si un nom de variable est suivi par =valeur, la valeur de cette variable est configurée à valeur. Lors de l’utilisation de −a ou −A et de la syntaxe d’affectation composée pour créer des variables de type tableau, les attributs supplémentaires sont sans effet jusqu’aux affectations suivantes. La valeur renvoyée est 0, sauf si une option incorrecte est rencontrée, si une tentative est faite de définir une fonction en utilisant « −f truc=bidule », si une tentative est faite d’affecter une valeur à une variable en lecture seule, si une tentative est faite d’affecter une valeur à une variable tableau sans employer la syntaxe d’affectation composée (consultez Tableaux ci−dessus), si un des noms n’est pas un nom correct pour une variable de l’interpréteur, si une tentative est faite de supprimer l’attribut lecture seule d’une variable en lecture seule, si une tentative est faite de supprimer l’attribut tableau d’une variable tableau, ou si une tentative est faite avec −f d’afficher une fonction inexistante.

dirs [−clpv] [+n] [n]

Sans option, afficher la liste des répertoires actuellement mémorisés. L’affichage par défaut est réalisé sur une seule ligne, les noms de répertoires étant séparés par des espaces. Les répertoires sont ajoutés à la liste avec la commande pushd et supprimés avec la commande popd.

−c

Effacer la liste des répertoires en les supprimant tous.

−l

Produire une liste en utilisant les chemins complets ; le format d’affichage par défaut utilise le tilde pour représenter le répertoire d’accueil.

−p

Afficher la pile des répertoires avec un élément par ligne.

−v

Afficher la pile des répertoires avec un élément par ligne, en préfixant chaque entrée avec son numéro d’indice dans la pile.

+n

Afficher le n−ième élément de la liste fournie par dirs, lorsqu’appelé sans options, en comptant à partir de la gauche en commençant à zéro.

n

Afficher le n−ième élément de la liste fournie par dirs, lorsqu’appelé sans options, en comptant à partir de la droite en commençant à zéro.

La valeur renvoyée est 0, sauf si une option incorrecte a été fournie ou si l’indice n dépasse la longueur de la pile des répertoires.

disown [−ar] [−h] [tâche ...]

Sans options, supprimer chaque tâche de la table des tâches actives. Si aucune tâche n’est précisée et qu’aucune des options −a ou −r n’est fournie, la tâche actuelle est utilisée. Si l’option −h est indiquée, aucune tâche n’est supprimée de la table, mais chaque tâche est marquée pour que le signal SIGHUP ne lui soit pas envoyé si l’interpréteur reçoit un signal SIGHUP. Si aucune tâche n’est fournie, l’option −a signifie la suppression ou le marquage de toutes les tâches ; l’option −r sans l’argument tâche restreint les opérations aux tâches en cours d’exécution. La valeur renvoyée est 0, sauf si tâche n’indique pas une tâche correcte.

echo [−neE] [arguments ...]

Afficher les arguments, séparés par des espaces, suivis par un saut de ligne. La valeur renvoyée est 0 sauf en cas d’erreur. Si −n est indiqué, le changement de ligne final est supprimé. Si l’option −e est indiquée, l’interprétation des caractères de protection suivants par une contre−oblique est activée. L’option −E désactive l’interprétation de ces caractères de protection, même sur les systèmes où ils sont interprétés par défaut. L’option d’interpréteur xpg_echo peut être utilisée dynamiquement pour déterminer si echo développe ou non par défaut ces caractères de protection. echo n’interprète pas −− comme signifiant la fin des options. echo reconnaît les suites de caractères de protection suivants :

\a

alerte (alarme) ;

\b

effacement arrière (« backspace ») ;

\c

supprime tout affichage suivant ;

\e

\E

caractère de protection ;

\f

saut de page (« form feed ») ;

\n

saut de ligne (« new line ») ;

\r

retour chariot (« carriage return ») ;

\t

tabulation horizontale ;

\v

tabulation verticale ;

\\

contre−oblique ;

\0nnn

le caractère 8 bits dont la valeur en octal est nnn (zéro à trois chiffres octaux) ;

\xHH

le caractère 8 bits dont la valeur hexadécimale est HH (un ou deux chiffres hexadécimaux) ;

\uHHHH

le caractère Unicode (ISO/IEC 10646) dont la valeur hexadécimale est HHHH (un à quatre chiffres hexadécimaux) ;

\UHHHHHHHH

le caractère Unicode (ISO/IEC 10646) dont la valeur hexadécimale est HHHHHHHH (un à huit chiffres hexadécimaux) ;

enable [−a] [−dnps] [−f fichier] [nom ...]

Activer ou désactiver les commandes internes de l’interpréteur. Désactiver une commande interne permet d’exécuter une commande disque ayant le même nom qu’une commande interne de l’interpréteur, sans avoir à indiquer un chemin d’accès complet, même quand l’interpréteur recherche normalement les commandes internes avant les commandes du disque. Si −n est utilisé, chaque nom indiqué est désactivé, sinon ils sont activés. Par exemple, pour utiliser le programme binaire test qui se trouve dans PATH plutôt que la commande interne, utilisez « enable -n test ». L’option −f demande de charger la nouvelle commande interne avec le nom indiqué depuis le fichier objet partagé sur les systèmes qui le permettent. L’option −d permet de supprimer une commande interne chargée précédemment avec −f. Si aucun argument nom n’est indiqué ou si l’option −p est fournie, une liste des commandes internes de l’interpréteur est affichée. Sans autre option, la liste est celle des commandes internes actives de l’interpréteur. Si −n est fournie, seules les commandes désactivées sont affichées. Si −a est fournie, la liste de toutes les commandes est affichée, avec une indication des activations et désactivations. Si −s est fournie, la sortie est limitée aux commandes internes spéciales POSIX. La valeur renvoyée est 0, sauf si nom n’est pas une commande interne ou qu’il y a une erreur au chargement d’une nouvelle commande interne d’un objet partagé.

eval [arguments ...]

Les arguments sont lus et regroupés en une seule commande simple. Cette commande est alors lue et exécutée par l’interpréteur et son état final est renvoyé comme valeur de la commande eval. S’il n’y a pas d’arguments ou uniquement des arguments NULL, eval renvoie 0.

exec [−cl] [−a nom] [commande [arguments]]

Si une commande est indiquée, elle remplace l’interpréteur. Aucun nouveau processus n’est créé. Les arguments deviennent ceux de la commande. Si l’option −l est fournie, l’interpréteur place un tiret en guise de zéro−ième argument fourni à la commande. C’est ce que fait login(1). L’option −c conduit à l’exécution de la commande avec un environnement vide. Si l’option −a est fournie, l’interpréteur transmet le nom comme zéro−ième argument. Si la commande ne peut être exécutée pour une raison quelconque, un interpréteur non interactif termine, sauf si l’option de l’interpréteur execfail est activée. Dans ce cas, une erreur est renvoyée. Un interpréteur interactif renvoie une erreur si le fichier ne peut pas être exécuté. Si aucune commande n’est indiquée, les éventuelles redirections sont mises en place dans l’interpréteur actuel et l’état renvoyé est 0. S’il y a une erreur de redirection, l’état renvoyé est 1.

exit [n]

Termine l’interpréteur avec un état de n. Si n est omis, l’état final est celui de la dernière commande exécutée. Une capture sur EXIT est exécutée avant que l’interpréteur ne se termine.

export [−fn] [nom[=mot]] ...
export −p

Les noms fournis sont marqués pour être exportés automatiquement dans l’environnement des commandes exécutées par la suite. Si l’option −f est indiquée, les noms se rapportent à des fonctions. Si aucun nom n’est donné ou si l’option −p est fournie, une liste de noms de toutes les variables exportées est affichée. L’option −n conduit à supprimer l’attribut d’exportation de toutes les variables nommées. Si un nom de variable est suivi par =mot, la valeur de la variable est configurée à mot. export renvoie un état final de 0, sauf si une option incorrecte est rencontrée, si un des noms n’est pas un nom correct de variable de l’interpréteur, ou si l’option −f est fournie avec un nom qui n’est pas une fonction.

fc [−e éditeur] [−lnr] [première] [dernière]
fc −s
[motif=nouveau] [commande]

La première forme sélectionne un intervalle de commandes de la première à la dernière dans la file d’historique et l’affiche ou l’édite pour les réexécuter. La première et la dernière peuvent être indiquées sous forme de chaînes (pour trouver la dernière commande commençant par cette chaîne) ou sous forme numérique (un indice dans la file d’historique où un nombre négatif est utilisé comme décalage par rapport au numéro de la commande actuelle). Si la dernière n’est pas indiquée, elle est configurée à la commande actuelle si l’on veut afficher la liste (ainsi « fc −l −10 » affiche les 10 dernières commandes) et à l’identique de la première sinon. Si la première n’est pas indiquée, elle est configurée à la commande précédente pour une édition et à −16 pour l’affichage de liste.

L’option −n supprime l’affichage des numéros dans la liste. L’option −r inverse l’ordre des commandes. Si l’option −l est indiquée, les commandes sont affichées sur la sortie standard. Sinon, l’éditeur indiqué est appelé avec un fichier contenant les commandes sélectionnées. Si aucun éditeur n’est indiqué, on utilise la valeur de la variable FCEDIT ou la valeur de EDITOR si FCEDIT n’existe pas. Si aucune variable n’existe, vi est utilisé. Lorsque l’édition se termine, les commandes sont affichées puis exécutées.

Dans la seconde forme, la commande est réexécutée après avoir remplacé chaque instance du motif par nouveau. commande est interprétée de la même façon que première ci−dessus. Un alias utile pour cela est « r="fc -s" », ainsi en tapant « r cc » on relance la dernière commande commençant par « cc » et en tapant « r » on réexécute la commande précédente.

Lorsque la première forme est utilisée, la valeur renvoyée est 0, sauf si une option incorrecte est trouvée ou si première ou dernière indiquent des lignes d’historique hors d’atteinte. Si l’option −e est fournie, la valeur renvoyée est celle de la dernière commande exécutée ou un échec si une erreur s’est produite avec le fichier temporaire des commandes. Avec la seconde forme, l’état renvoyé est celui de la commande réexécutée, sauf si commande n’indique pas une ligne correcte de l’historique, auquel cas fc renvoie un échec.

fg [tâche]

Reprendre la tâche au premier plan qui devient la tâche actuelle. Si aucune tâche n’est précisée, l’interpréteur utilise la notion de tâche actuelle. La valeur renvoyée est celle de la commande placée au premier plan ou un échec si le contrôle des tâches est désactivé ou, lorsque le contrôle des tâches est activé, si la tâche n’indique pas une tâche correcte ou si la tâche indique une tâche lancée sans contrôle des tâches.

getopts chaîne_d_options nom [arguments]

getopts est utilisé par les scripts d’interpréteur pour analyser les paramètres positionnels. La chaîne_d_options contient l’ensemble des caractères d’options à reconnaître ; si un caractère est suivi par un deux−points, l’option est censée avoir un argument, qui devrait en être séparé par une espace. Les caractères deux−points et le point d’interrogation ne peuvent pas être utilisés comme caractères d’option. À chaque appel, getopts place l’option suivante dans la variable de l’interpréteur dont le nom est fourni, en la créant si elle n’existe pas et l’indice de l’argument suivant à traiter dans la variable OPTIND. OPTIND est initialisée à 1 à chaque appel d’un interpréteur ou d’un script. Quand une option nécessite un argument, getopts place cet argument dans la variable OPTARG. L’interpréteur ne réinitialise pas OPTIND automatiquement, il faut le faire manuellement entre des appels multiples à getopts au sein du même appel d’interpréteur si un nouveau jeu de paramètres doit être utilisé.

Lorsque la fin des options est atteinte, getopts termine avec une valeur renvoyée strictement supérieure à zéro. OPTIND est positionné à l’indice du premier argument obligatoire et un point d’interrogation (?) est placé dans la variable nom.

getopts analyse en principe les paramètres positionnels, mais si plus d’arguments sont indiqués, getopts analysera ces derniers à la place.

getopts peut signaler des erreurs de deux façons. Si le premier caractère de la chaîne_d_options est un deux−points, les erreurs sont signalées de façon silencieuse. Lors d’un fonctionnement normal, des messages de diagnostic sont affichés si une option est incorrecte ou s’il manque un argument d’option. Si la variable OPTERR est configurée à 0, aucun message d’erreur ne sera affiché, même si le premier caractère de la chaîne_d_options n’est pas un deux−points.

Si une option incorrecte est rencontrée, getopts place un point d’interrogation (?) dans la variable nom, affiche un message d’erreur (s’il n’est pas en mode silencieux) et détruit la variable OPTARG. Si getopts fonctionne en mode silencieux, le caractère d’option est placé dans OPTARG et aucun message de diagnostic n’est affiché.

Lorsqu’un argument d’option nécessaire est absent et si getopts n’est pas silencieux, un point d’interrogation (?) est placé dans la variable nom, OPTARG est détruite et un message de diagnostic est affiché. Si getopts est silencieux, un deux−points (:) est placé dans la variable nom et OPTARG est positionné à l’option monocaractère trouvée.

getopts renvoie vrai si une option, indiquée ou non, est trouvée. Il renvoie faux si la fin des options est atteinte ou si une erreur se produit.

hash [−lr] [−p fichier] [−dt] [nom]

Chaque fois que hash est invoquée, le chemin d’accès complet de la commande nom est déterminé en examinant les répertoires de $PATH, et mémorisé. Tous les chemins précédemment mémorisés sont supprimés. Si l’option −p est fournie, aucune recherche de chemin d’accès n’est effectuée et le fichier est utilisé comme chemin d’accès complet pour la commande. L’option −r conduit l’interpréteur à oublier tous les emplacements mémorisés. L’option −d conduit l’interpréteur à oublier tous les emplacements mémorisés de chaque nom. Si l’option −t est fournie, le chemin d’accès complet de chaque nom correspondant est affiché. Si plusieurs arguments nom sont fournis avec −t, le nom est affiché avant chaque chemin d’accès complet associé. L’option −l conduit à afficher la sortie dans un format réutilisable en entrée. Si aucun argument n’est indiqué ou si seulement −l est fournie, des informations sur les commandes mémorisées sont affichées. La valeur renvoyée est vrai, sauf si nom n’est pas trouvé ou si une option incorrecte est fournie.

help [−dms] [motif]

Afficher des informations d’aide au sujet des commandes internes. Si un motif est indiqué, help fournit de l’aide sur toutes les commandes internes correspondant à ce motif, sinon, une liste des commandes internes et des structures de contrôle de l’interpréteur est affichée.

−d

Afficher une courte description de chaque motif.

−m

Afficher la description de chaque motif dans un format du type pages de manuel.

−s

Afficher seulement un court synopsis d’utilisation de chaque motif.

L’état renvoyé est 0, sauf si aucune commande ne correspond au motif.

history [n]
history −c
history −d
nombre
history −anrw
[fichier]
history −p
argument [argument ...]
history −s
argument [argument ...]

Sans options, afficher la liste des commandes de la file d’historique, avec les numéros de ligne. Les lignes marquées avec un * ont été modifiées. Un argument n permet de n’afficher que les n dernières lignes. Si la variable de l’interpréteur HISTTIMEFORMAT existe et n’est pas NULL, elle est utilisée comme chaîne de format pour strftime(3) afin d’afficher l’horodatage associé à chaque élément de l’historique. Aucun blanc ne sépare l’horodatage ainsi mis en forme de la ligne d’historique. Si un argument fichier est fourni, il est utilisé comme nom de fichier d’historique ; sinon la valeur de HISTFILE est utilisée. Les options, si fournies, ont les significations suivantes :

−c

Effacer la file de l’historique en supprimant tous les éléments.

−d nombre

Détruire l’élément de l’historique à la position nombre.

−a

Ajouter les « nouvelles » lignes d’historique (celles créées depuis le début de la session actuelle de bash) dans le fichier d’historique.

−n

Lire dans le fichier d’historique les lignes non encore lues et les ajouter à la file d’historique actuelle. Il s’agit des lignes qui ont été ajoutées dans le fichier d’historique depuis le début de la session bash.

−r

Lire le contenu du fichier et l’ajouter à l’historique actuel.

−w

Écrire la liste actuelle d’historique dans le fichier d’historique, en écrasant le contenu précédent.

−p

Effectuer la substitution d’historique sur les arguments suivants et afficher le résultat sur la sortie standard. Ne pas mémoriser les résultats dans la file d’historique. Chaque argument doit être protégé pour désactiver le développement normal de l’historique.

−s

Conserver les arguments dans la file d’historique comme un unique élément. La dernière commande de la file d’historique est supprimée avant que les arguments ne soient ajoutés.

Si la variable HISTTIMEFORMAT existe, les informations d’horodatage associées à chaque élément de l’historique sont écrites dans le fichier d’historique, repérés par le caractère de commentaire d’historique. Quand le fichier d’historique est lu, les lignes commençant par le caractère de commentaire d’historique suivi immédiatement par un chiffre sont considérés comme des horodatages de la ligne d’historique précédente. La valeur renvoyée est 0, sauf si une option incorrecte est fournie, si une erreur se produit durant la lecture ou l’écriture du fichier, si un nombre incorrect est fourni comme argument à −d ou si le développement de l’historique fourni en argument à −p échoue.

jobs [−lnprs] [ tâche ... ]
jobs −x
commande [ arguments ... ]

La première forme affiche la liste des tâches actives. Les options ont les significations suivantes :

−l

Afficher les PID, en plus des informations normales.

−n

Afficher uniquement des informations sur les tâches dont l’état a changé depuis la dernière notification de leur état à l’utilisateur.

−p

Afficher uniquement le PID du meneur du groupe de processus de la tâche.

−r

N’afficher que les tâches en cours d’exécution.

−s

N’afficher que les tâches suspendues.

Si une tâche est indiquée, l’affichage est restreint aux informations relatives à cette tâche. L’état renvoyé est 0, sauf si une option incorrecte est rencontrée ou si une tâche incorrecte est fournie.

Si l’option −x est fournie, jobs remplace toute tâche trouvée dans la commande ou dans ses arguments avec les Process Group ID correspondant, puis il exécute la commande en lui transmettant les arguments et en renvoyant son état final.

kill [−s signal | −n num−signal | signal] [pid | tâche] ...
kill −l
[signal | état_final]

Envoyer le signal indiqué par signal ou num−signal aux processus indiqués par pid ou par tâche. signal est soit sous la forme de nom de signal (indifférent à la casse), comme SIGKILL (avec ou sans le préfixe SIG), soit sous forme numérique ; num−signal est un numéro de signal. Si signal est absent, SIGTERM est supposé par défaut. Un argument −l provoque l’affichage de la liste des noms de signaux. Si des arguments sont fournis quand −l est indiqué, les noms des signaux correspondant aux arguments sont affichés et l’état renvoyé est 0. L’argument état_final de l’option −l est un nombre indiquant soit un numéro de signal, soit l’état final d’un processus terminé par un signal. kill renvoie vrai si au moins un signal a été envoyé avec succès ou faux si une erreur s’est produite ou si une option incorrecte a été rencontrée.

let argument [argument ...]

Chaque argument est une expression arithmétique à évaluer (consultez ÉVALUATION ARITHMÉTIQUE ci−dessus). Si l’évaluation du dernier argument donne 0, let renvoie 1 ; sinon 0 est renvoyé.

local [option] [nom[=valeur] ...]

Pour chaque argument, une variable locale nom est créée et la valeur lui est affectée. L’option peut être n’importe quelle option acceptée par declare. Quand local est utilisé dans une fonction, la variable nom possède une portée visible restreinte à cette fonction et ses fils. Sans opérandes, local affiche la liste des variables locales sur la sortie standard. Une utilisation de local hors des fonctions est erronée. La valeur renvoyée est 0, sauf si local est utilisé hors d’une fonction, si un nom incorrect est fourni ou si nom est une variable en lecture seule.

logout

Terminer un interpréteur de connexion.

mapfile [−n nombre] [−O origine] [−s nombre] [−t] [−u df] [−C rappel]
[−c quantum] [tableau]
readarray
[−n nombre] [−O origine] [−s nombre] [−t] [−u df] [−C rappel]
[−c quantum] [tableau]

Lire les lignes depuis l’entrée standard dans la variable de type tableau indicé tableau, ou depuis le descripteur de fichier df si l’option −u est fournie. La variable MAPFILE est le tableau par défaut. Les options, si fournies, ont les significations suivantes :

−n

Copier au plus nombre lignes. Si nombre est 0, toutes les lignes sont copiées.

−O

Commencer l’affectation de tableau à l’indice origine. L’indice par défaut est 0.

−s

Supprimer les nombre premières lignes lues.

−t

Éliminer le changement de ligne de chaque ligne lue.

−u

Lire les lignes à partir du descripteur de fichier df plutôt que depuis l’entrée standard.

−C

Évaluer rappel à chaque fois que quantum lignes sont lues. L’option −c précise le quantum.

−c

Préciser le nombre de lignes entre chaque appel à rappel.

Si −C est précisé sans −c, le quantum par défaut est 5000. Quand rappel est évalué, l’indice du prochain élément de tableau à affecter et la ligne à affecter à cet élément sont fournis en arguments supplémentaires. rappel est évalué après la lecture de la ligne, mais avant l’affectation de l’élément de tableau.

Si aucune origine explicite n’est fournie, mapfile effacera tableau avant de lui affecter des valeurs.

mapfile termine avec succès sauf si une option ou un de ses arguments n’est pas valable, ou si tableau n’est pas valable, n’est pas un tableau indicé ou si son affectation est impossible.

popd [−n] [+n] [n]

Enlever des éléments de la pile des répertoires. Sans arguments, seul le répertoire du sommet de la pile est éliminé et un cd est effectué en direction du nouveau répertoire au sommet. Les arguments, si fournis, ont les significations suivantes :

−n

Empêcher le changement normal de répertoire lors de la suppression d’un répertoire de la pile. Seule la pile est manipulée.

+n

Supprimer le n−ième élément de la liste affichée par dirs, en comptant depuis la gauche à partir de zéro. Par exemple : « popd +0 » enlève le premier répertoire, « popd +1 » le second.

n

Supprimer le n−ième élément de la liste affichée par dirs, en comptant depuis la droite à partir de zéro. Par exemple : « popd -0 » supprime le dernier répertoire et « popd -1 » l’avant−dernier.

Si la commande popd réussit, un dirs est effectué et l’état renvoyé est 0. popd renvoie faux si une option incorrecte est trouvée, si la pile de répertoires est vide, si le répertoire indiqué est absent de la pile ou si le changement de répertoire a échoué.

printf [−v var] format [arguments]

Écrire les arguments mis en forme sur la sortie standard sous le contrôle du format. L’option −v conduit à affecter la sortie à la variable var plutôt que de l’afficher sur la sortie standard.

Ce format est une chaîne contenant trois types de caractères : les caractères normaux, qui sont simplement copiés sur la sortie standard, les caractères de protection qui sont convertis puis copiés sur la sortie standard et les spécifications de format, qui conduisent chacun à l’affichage des arguments successifs. En plus des spécifications de format standard de printf(1), printf interprète les extensions suivantes :

%b

conduit printf à développer les suites de caractères de protection par contre−oblique se trouvant dans l’argument correspondant (à l’exception de \c qui termine la sortie, des contre−obliques dans \', \" et \? qui ne sont pas supprimées et des suites de caractères de protection pour les nombres en octal commençant par \0 qui peuvent contenir jusqu’à quatre chiffres) ;

%q

conduit printf à afficher l’argument correspondant dans un format réutilisable en entrée de l’interpréteur ;

%(formatdate)T

conduit printf à afficher la chaîne date−heure résultant de l’utilisation de formatdate en tant que chaîne de format pour strftime(3). L’argument correspondant est un entier représentant le temps en seconde écoulé depuis epoch. Deux valeurs particulières d’argument peuvent être utilisées : −1 représente l’heure actuelle et −2 l’heure à laquelle l’interpréteur a été invoqué. Si aucun argument n’est indiqué, la conversion se comporte comme si −1 avait été fourni. C’est une exception au comportement habituel de printf.

Les arguments des spécificateurs de format qui ne sont pas des chaînes sont traités comme des constantes C, sauf qu’un signe plus ou moins est permis au début, et que, si le premier caractère est un guillemet simple ou double, la valeur est la valeur ASCII du caractère suivant.

Le format est réutilisé si nécessaire pour englober tous les arguments. Si le format demande plus d’arguments que fournis, les spécifications supplémentaires se comportent comme si une valeur zéro ou une chaîne NULL, suivant le besoin, avaient été fournies. La valeur renvoyée est zéro en cas de succès, différente de zéro en cas d’échec.

pushd [−n] [+n] [n]
pushd
[−n] [rép]

Ajouter un répertoire au sommet de la pile des répertoires ou effectuer une rotation dans la pile, en ramenant le répertoire actuel au sommet. Sans argument, cette commande échange les deux répertoires au sommet et renvoie 0, sauf si la pile est vide. Les arguments, si fournis, ont les significations suivantes :

−n

Empêcher le changement normal de répertoire lors d’un ajout dans la pile. Seule la pile est manipulée.

+n

Effectuer une rotation dans la pile, de façon à amener au sommet le n−ième répertoire (de la liste affichée par dirs, en comptant depuis la gauche à partir de zéro).

n

Effectuer une rotation dans la pile, de façon à amener au sommet le n−ième répertoire (de la liste affichée par dirs, en comptant depuis la gauche à partir de zéro).

rép

Ajouter le répertoire rép au sommet de la pile de répertoires et en faire le nouveau répertoire de travail comme s’il avait été fourni en argument de la commande interne cd.

Si la commande pushd réussit, un dirs est aussi effectué. Avec la première forme, pushd renvoie 0 sauf si le déplacement vers rép échoue. Avec la seconde forme, pushd renvoie 0, sauf si la pile est vide, si un élément inexistant dans la pile est indiqué ou si le changement de répertoire vers le nouveau répertoire indiqué échoue.

pwd [−LP]

Afficher le chemin d’accès absolu au répertoire de travail actuel. Le chemin ne contiendra pas de liens symboliques si l’option −P est fournie, ou si l’option −o physical de la commande interne set est activée. Si l’option −L est utilisée, le chemin affiché peut contenir des liens symboliques. L’état renvoyé est 0, sauf si une erreur s’est produite lors de la lecture du nom du répertoire actuel ou si une option incorrecte est fournie.

read [−ers] [−a tableau] [−d délimiteur] [−i texte] [−n nb_car] [−N
nb_car
] [−p invite] [−t délai] [−u df] [nom ...]

Une ligne est lue depuis l’entrée standard ou à partir du descripteur de fichier df fourni en argument à l’option −u, puis le premier mot de cette ligne est affecté au premier nom, le second mot au second nom, et ainsi de suite avec les mots restants et leurs séparateurs affectés au dernier nom. S’il y a moins de mots lus dans le flux d’entrée que de variables, des valeurs vides sont affectées à celles restantes. Les caractères contenus dans la variable IFS sont utilisés pour découper la ligne en mots en utilisant les mêmes règles que celles utilisées par l’interpréteur pour le développement (décrites précédemment dans Découpage en mots ). Le caractère contre−oblique (\) permet de supprimer toute signification spéciale pour le caractère suivant et autorise la continuation de ligne. Les options, si fournies, ont les significations suivantes :
−a
tableau

Les mots sont affectés aux indices successifs d’une variable tableau de nom tableau, en commençant à 0. tableau est détruit avant que de nouvelles valeurs ne soient affectées. Les autres arguments nom sont ignorés.

−d délimiteur

Le premier caractère de délimiteur est utilisé pour terminer la ligne de saisie, plutôt qu’un changement de ligne.

−e

Si l’entrée standard provient d’un terminal, la bibliothèque readline (consultez READLINE ci−dessus) est utilisée pour obtenir la ligne. Readline utilise les configurations d’édition en cours (ou par défaut, si l’édition de ligne n’était pas préalablement active).

−i texte

Si readline est utilisée pour lire la ligne, texte est placé dans le tampon d’édition avant le début de l’édition.

−n nb_car

read s’arrête après avoir lu nb_car caractères plutôt que d’attendre une ligne complète en entrée, mais un délimiteur est respecté si moins de nb_car caractères ont été lus avant le délimiteur.

−N nb_car

read s’arrête après avoir lu exactement nb_car caractères plutôt que d’attendre une ligne complète en entrée, sauf si une fin de fichier (EOF) est rencontrée ou si read dépasse son délai de réponse. Les délimiteurs rencontrés en entrée ne sont pas pris en compte et n’entraînent pas la fin de read avant que nb_car caractères n’aient été lus.

−p invite

Afficher invite sur la sortie d’erreur standard, sans caractère final de changement de ligne, avant d’essayer de lire toute nouvelle saisie. L’invite est affichée seulement si l’entrée vient d’un terminal.

−r

La contre−oblique n’agit pas comme un caractère de protection. La contre−oblique est considérée comme faisant partie de la ligne. En particulier une contre−oblique suivie d’un changement de ligne n’est pas considérée comme une continuation de ligne.

−s

Mode silencieux. Si une entrée arrive à partir d’un terminal, les caractères ne sont pas affichés.

−t délai

Conduire read à expirer et renvoyer un échec si une ligne complète en entrée (ou un nombre indiqué de caractères) n’a pas été lue dans le délai en seconde. délai est un nombre décimal avec éventuellement des chiffres après la virgule (NdT : point en l’occurrence). Cette option n’est effective que si read lit l’entrée à partir d’un terminal, d’un tube, ou depuis un autre fichier spécial ; elle n’a aucun effet lors de la lecture d’un fichier normal. Si read expire, read sauvegarde toute entrée partielle lue dans la variable nom indiquée. Si délai est nul, read se termine immédiatement, sans essayer de lire des données. L’état de sortie est 0 si une entrée est disponible pour le descripteur de fichier indiqué, non nulle sinon. L’état final est supérieur à 128 si le délai est dépassé.

−u df

Lire l’entrée à partir du descripteur de fichier df.

Si aucun nom n’est fourni, la ligne lue est affectée entièrement à la variable REPLY. Le code renvoyé est zéro, sauf si une fin de fichier (EOF) est rencontrée, si read dépasse son délai de réponse (auquel cas le code renvoyé est plus grand que 128), en cas d’erreur d’affectation (comme une affectation de variable à une variable en lecture seule) ou si un descripteur de fichier incorrect est fourni en argument de −u.

readonly [−aAf] [−p] [nom[=mot] ...]

Les noms indiqués reçoivent un attribut lecture seule ; les valeurs de ces noms ne pourront plus être modifiées par des affectations ultérieures. Si l’option −f est fournie, les fonctions correspondant à ces noms sont marquées en conséquence. L’option −a restreint l’action aux variables tableaux indicés ; l’option −A restreint l’action aux variables tableaux associatifs. Si les deux options sont fournies, −A est prioritaire. Si aucun argument nom n’est indiqué ou si l’option −p est fournie, une liste de tous les noms en lecture seule est affichée. Les autres options peuvent être utilisées pour restreindre l’affichage à un sous−ensemble de l’ensemble des noms en lecture seule. L’option −p conduit à afficher la sortie dans un format susceptible d’être réutilisé en entrée. Si le nom d’une variable est suivi par =mot, la variable est configurée à mot. L’état renvoyé est 0, sauf si une option incorrecte a été rencontrée, si l’un des noms n’est pas un nom correct de variable de l’interpréteur ou si l’option −f est fournie avec un nom qui n’est pas une fonction.

return [n]

Forcer une fonction à arrêter son exécution et à renvoyer la valeur indiquée par n dans son contexte d’appel. Si n est omis, la valeur renvoyée est celle de la dernière commande exécutée dans le corps de la fonction. Si return est utilisée hors d’une fonction, mais pendant l’exécution d’un script par la commande . (source), elle conduit à l’arrêt de l’exécution du script par l’interpréteur et renvoie comme état final du script : soit n, soit l’état final de la dernière commande exécutée dans le script. Si n est fourni, la valeur de retour est ses 8 bits de poids faible. La valeur de retour est non nulle si un argument non numérique est fourni à return, ou si elle est utilisée hors d’une fonction ou d’un script exécuté par . ou source. Toute commande associée à la capture de RETURN est exécutée avant la reprise de l’exécution après la fonction ou le script.

set [−−abefhkmnptuvxBCEHPT] [−o nom_d_option] [argument ...]
set
[+abefhkmnptuvxBCEHPT] [+o nom_d_option] [argument ...]

Sans options, le nom et la valeur de toutes les variables de l’interpréteur sont affichés dans un format susceptible d’être réutilisé en entrée pour créer ou réinitialiser les variables actuelles. Les variables en lecture seule ne peuvent pas être réinitialisées. En mode posix, seules les variables de l’interpréteur sont affichées. La sortie est triée en fonction des paramètres linguistiques régionaux actuels. Lorsque des options sont indiquées, elles créent ou détruisent des attributs de l’interpréteur. Tous les arguments restant après traitement des options sont considérés comme des valeurs pour les paramètres positionnels et sont affectés, dans l’ordre, à : $1, $2, ... $n. Les options, si indiquées, ont les significations suivantes :

−a

Marquer automatiquement des variables et fonctions modifiées ou créées pour qu’elles soient exportées dans l’environnement des commandes exécutées ultérieurement.

−b

Signaler l’état des tâches terminées en arrière−plan immédiatement, plutôt que d’attendre l’affichage de la prochaine invite de base. N’est effectif que si le contrôle des tâches est activé.

−e

Se terminer immédiatement si une conduite (qui peut être réduite à une unique commande simple), une liste ou une commande composée (consultez GRAMMAIRE DE L’INTERPRÉTEUR ci−dessus) se termine avec un état différent de zéro. L’interpréteur ne se termine pas si la commande qui échoue fait partie d’une liste de commandes immédiatement suivie par un mot clef while ou until, d’un test suivant les mots réservés if ou elif, d’une commande exécutée dans une liste && ou || sauf si la commande est située après le dernier && ou ||, d’une commande de conduite à l’exception de la dernière, ou si la valeur renvoyée par la commande est inversée par !. Si une commande composée autre qu’un sous−interpréteur renvoie un état non nul parce qu’une commande échoue alors que −e était ignoré, l’interpréteur ne se termine pas. Une capture sur ERR, si existante, est exécutée avant que l’interpréteur ne se termine. Cette option s’applique à l’environnement de l’interpréteur ainsi qu’à l’environnement de chaque sous−interpréteur individuellement (consultez ENVIRONNEMENT D’EXÉCUTION DES COMMANDES ci−dessus), et peut conduire des sous−interpréteurs à se terminer avant d’y avoir exécuté toutes les commandes.

Si une commande composée ou une fonction de l’interpréteur s’exécutent dans un contexte où −e est ignoré, aucune des commandes exécutées dans une commande composée ou dans un corps de fonction ne sera affectée par le réglage −e, même si −e est défini et qu’une commande renvoie un état d’échec. Si une commande composée ou une fonction de l’interpréteur définissent −e pendant son exécution dans un contexte où −e est ignoré, ce réglage n’aura aucun effet avant la fin de la commande composée ou de la commande contenant l’appel de fonction.

−f

Désactiver le développement des chemins.

−h

Mémoriser l’emplacement des commandes lors de leur exécution. Activée par défaut.

−k

Tous les arguments sous la forme d’affectations sont placés dans l’environnement d’une commande, et non pas seulement ceux qui précèdent le nom de la commande.

−m

Mode supervision. Le contrôle des tâches est activé. Cette option est activée par défaut pour les interpréteurs interactifs sur les systèmes qui le permettent (consultez CONTRÔLE DES TÂCHES ci−dessus). Tous les processus sont exécutés dans un groupe de processus séparé. Quand une tâche en arrière−plan se termine, l’interpréteur affiche une ligne contenant son état final.

−n

Lecture de commandes sans exécution. Cela peut être utilisé pour rechercher les erreurs de syntaxe dans un script. Cette option est ignorée par les interpréteurs interactifs.

−o nom_d_option

Le nom_d_option est l’un des suivants :
allexport

Identique à −a.

braceexpand

Identique à −B.

emacs

Utiliser une interface d’édition des lignes de commande « à la Emacs ». C’est le comportement activé par défaut quand l’interpréteur est interactif, sauf si l’interpréteur est démarré avec l’option −−noediting. L’interface d’édition utilisée par read −e est modifiée également.

errexit

Identique à −e.

errtrace

Identique à −E.

functrace

Identique à −T.

hashall

Identique à −h.

histexpand

Identique à −H.

history

Activer l’historique des commandes, comme décrit ci−dessus dans HISTORY. Cette option est activée par défaut dans les interpréteurs interactifs.

ignoreeof

Identique à l’exécution de la commande d’interpréteur « IGNOREEOF=10 » (consultez Variables de l’interpréteur ci−dessus).

keyword

Identique à −k.

monitor

Identique à −m.

noclobber

Identique à −C.

noexec

Identique à −n.

noglob

Identique à −f.

nolog

Actuellement ignorée.

notify

Identique à −b.

nounset

Identique à −u.

onecmd

Identique à −t.

physical

Identique à −P.

pipefail

Si existante, la valeur renvoyée par une conduite est la valeur de la dernière commande (la plus à droite) à terminer avec un état final différent de zéro ou zéro si toutes les commandes de la conduite terminent avec succès. Désactivée par défaut.

posix

Aligner le comportement de bash sur la norme (mode posix), en ce qui concerne les options dont l’action par défaut diffère de la norme POSIX. La section VOIR AUSSI ci−dessous référence un document précisant la façon dont le mode posix affecte le comportement de bash.

privileged

Identique à −p.

verbose

Identique à −v.

vi

Utiliser une interface d’édition des lignes de commande « à la vi ». L’interface d’édition utilisée par read −e est modifiée également.

xtrace

Identique à −x.

Si −o est fournie sans nom_d_option, les valeurs actuelles des options sont affichées. Si +o est fournie sans nom_d_option, la série de commandes set permettant de recréer la configuration actuelle d’options est affichée sur la sortie standard.

−p

Basculer en mode privilégié. Dans ce mode, les fichiers $ENV et $BASH_ENV ne sont pas traités, les fonctions de l’interpréteur ne sont pas héritées de l’environnement, et les variables SHELLOPTS, BASHOPTS, CDPATH, et GLOBIGNORE, si présentes dans l’environnement, sont ignorées. Si l’interpréteur démarre avec un UID (ou respectivement un GID) effectif différent de son UID (GID) réel et si l’option −p n’est pas fournie, ce comportement est appliqué et l’UID (GID) effectif est positionné à l’UID (GID) réel. Si l’option −p est fournie au démarrage, l’UID (GID) effectif n’est pas modifié. Désactiver cette option conduit à la configuration des UID et GID effectifs à la valeur des UID et GID réels.

−t

Terminer après lecture et exécution d’une commande.

−u

Considérer les variables inexistantes et les paramètres différents des paramètres spéciaux « @ » et « * » comme des erreurs lors du développement des paramètres. Si un développement de variable inexistante ou de paramètre est tenté, l’interpréteur affiche un message d’erreur et, s’il n’est pas interactif, termine avec un état différent de zéro.

−v

Afficher les lignes en entrée de l’interpréteur lorsqu’elles sont lues.

−x

Après le développement de chaque commande simple, commande for, commande case, commande select ou commande for arithmétique, afficher la valeur développée de PS4, suivie de la commande et ses arguments développés ou la liste de mots associés.

−B

L’interpréteur effectue le développement des accolades (consultez Développement des accolades ci−dessus). Activée par défaut.

−C

Si configurée, bash n’écrasera pas un fichier existant avec les opérateurs >, >& et <>. Ce comportement peut être surpassé lors de la création d’un fichier de sortie en utilisant l’opérateur de redirection >| à la place de >.

−E

Si configurée, toute capture sur ERR est héritée par les fonctions d’interpréteur, les substitutions de commandes et les commandes exécutées dans un sous−interpréteur. La capture de ERR n’est normalement pas héritée dans de tels cas.

−H

Activer le style ! de substitution d’historique. C’est le comportement par défaut lorsque l’interpréteur est interactif.

−P

Si configurée, l’interpréteur ne résout pas les liens symboliques en exécutant des commandes comme cd qui modifient le répertoire de travail. Il utilise à la place le répertoire physique. Par défaut bash suit la chaîne logique des répertoires lors des commandes qui modifient le répertoire actuel.

−T

Si configurée, toutes les captures de DEBUG et RETURN sont héritées par les fonctions de l’interpréteur, les substitutions de commande et les commandes exécutées dans un sous−interpréteur. Les captures de DEBUG et RETURN ne sont normalement pas héritées dans de tels cas.

−−

Si aucun argument ne suit cette option, alors les paramètres positionnels sont détruits. Sinon, les paramètres positionnels sont configurés aux arguments, même si certains d’entre eux commencent par un .

Marquer la fin des options, tous les arguments restants sont alors affectés aux paramètres positionnels. Les options −x et −v sont désactivées. S’il n’y a pas d’arguments, les paramètres positionnels ne sont pas modifiés.

Par défaut les attributs sont désactivés, sauf indication contraire. En utilisant « + » à la place de « − », les options sont désactivées. Les options peuvent également être fournies en argument lors de l’appel de l’interpréteur. Le jeu actuel des options peut être trouvé dans $−. La valeur renvoyée est toujours vrai, sauf si une option incorrecte est rencontrée.

shift [n]

Les paramètres positionnels à partir de n+1 ... sont renommés en $1 .... Les paramètres représentés par les nombres $# jusqu’à $#n+1 sont détruits. n doit être un entier positif inférieur ou égal à $#. Si n vaut 0, aucun paramètre n’est modifié. Si n est omis, on suppose qu’il vaut 1. Si n est supérieur à $#, les paramètres positionnels ne sont pas modifiés. L’état renvoyé est strictement positif si n est supérieur à $# ou strictement négatif, sinon 0 est renvoyé.

shopt [−pqsu] [−o] [nom_opt ...]

Basculer la valeur des réglages contrôlant le comportement de gestion des options de l’interpréteur. Les réglages peuvent soit être ceux ci−dessous, soit, si l’option −o est utilisée, ceux disponibles avec l’option −o de la commande interne set. Sans option ou avec l’option −p, une liste de toutes les options configurables est affichée, avec l’indication de l’état de chacune d’entre elles. L’option −p conduit à un affichage de la sortie sous une forme susceptible d’être réutilisée en entrée. Les autres options ont les significations suivantes :

−s

Activer (créer) chaque nom_opt.

−u

Désactiver (détruire) chaque nom_opt.

−q

Supprimer la sortie normale (mode silencieux) ; l’état renvoyé indique si nom_opt est existante ou non. Si plusieurs arguments nom_opt sont indiqués avec −q, l’état renvoyé est zéro si tous les nom_opt sont activés ; différent de zéro sinon.

−o

Restreindre les valeurs de nom_opt à celles définies pour l’option −o de la commande interne set.

Si l’option −s ou −u est utilisée sans argument nom_opt, shopt affiche respectivement les options existantes ou non existantes. Sauf indication contraire, les options shopt sont désactivées (détruites) par défaut.

L’état renvoyé lors d’un affichage des options est zéro si tous les nom_opt sont activés, différent de zéro sinon. Lors de la création ou de la destruction d’options, l’état renvoyé est zéro, à moins que nom_opt ne soit pas une option correcte de l’interpréteur.

La liste des options shopt est :

autocd

Si existante, un nom de commande qui est le nom d’un répertoire est exécuté comme s’il était l’argument de la commande interne cd. Cette option n’est utilisée que par les interpréteurs interactifs.

cdable_vars

Si existante, un argument de la commande interne cd qui n’est pas un répertoire est supposé être un nom de variable dont la valeur est le répertoire visé.

cdspell

Si existante, les erreurs minimes de frappe dans un composant du répertoire en argument de la commande cd seront corrigées. Les erreurs corrigées sont les inversions d’un caractère, un caractère manquant et un caractère en trop. Si une correction est possible, le nom de répertoire corrigé est affiché et la commande est exécuté. Cette option n’est utilisée que par les interpréteurs interactifs.

checkhash

Si existante, bash vérifie si une commande trouvée dans la table de hachage existe avant d’essayer de l’exécuter. Si une commande hachée n’existe plus, une recherche normale de chemin est effectuée.

checkjobs

Si existante, bash affiche la liste des états de toutes les tâches en cours et arrêtées avant de terminer un interpréteur interactif. Si des tâches sont en cours, la sortie est différée jusqu’à ce qu’une nouvelle sortie soit tentée sans commande intermédiaire (consultez CONTRÔLE DES TÂCHES ci−dessus). L’interpréteur repousse toujours la sortie si des tâches sont arrêtées.

checkwinsize

Si existante, bash vérifie la taille de la fenêtre après chaque commande et, au besoin, met à jour les valeurs des variables LINES et COLUMNS.

cmdhist

Si existante, bash essaie de sauvegarder les commandes s’étendant sur plusieurs lignes en un seul élément d’historique. Cela facilite l’édition ultérieure de commandes multilignes.

compat31

Si existante, bash modifie son comportement de manière compatible à la version 3.1 en respectant les arguments protégés pour l’opérateur =~ de la commande conditionnelle [[ et les comparaisons de chaînes spécifiques aux paramètres linguistiques régionaux lors de l’utilisation des opérateurs < et > de la commande conditionnelle [[. Les versions de bash antérieure à 4.1 utilisent la collation ASCII et strcmp(3). bash à partir de la version 4.1 utilise la suite de collation des paramètres linguistiques régionaux et strcoll(3).

compat32

Si existante, bash modifie son comportement de manière compatible à la version 3.2 en respectant les comparaisons de chaînes spécifiques aux paramètres linguistiques régionaux lors de l’utilisation des opérateurs < et > de la commande conditionnelle [[ (consultez le paragraphe précédent).

compat40

Si existante, bash modifie son comportement de manière compatible à la version 4.0 en respectant les comparaisons de chaînes spécifiques aux paramètres linguistiques régionaux lors de l’utilisation des opérateurs < et > de la commande conditionnelle [[ (consultez la description de compat31) et l’effet d’interruption de liste de commandes. À partir de la version 4.0, bash interrompt la liste comme si l’interpréteur recevait l’interruption ; les versions précédentes continuent avec la commande suivante de la liste.

compat41

Si existante, bash, lorsqu’il est en mode posix, traite le guillemet simple dans l’expansion de paramètre entre guillemets doubles comme un caractère spécial. Les guillemets simples doivent correspondre (et même s’appairer) et les caractères entre guillemets simples sont considérés protégés. C’est le comportement du mode posix de la version 4.1. Le comportement par défaut de bash reste le même que dans les versions précédentes.

compat42

Si existante, bash ne traite pas la chaîne de remplacement dans le motif de substitution du développement de mot en utilisant la suppression des guillemets.

complete_fullquote

Si existante, bash protège tous les métacaractères de l’interpréteur dans les noms de fichier et de répertoire lors du complètement. Si non existante, bash supprime les métacaractères comme les signes dollar du jeu de caractères qui sera protégé dans les noms de fichiers complétés quand ces métacaractères apparaissent dans des références de variable d’interpréteur dans des mots à compléter. Cela signifie que les signes dollar dans les noms de variables qui se développent en répertoires ne seront pas protégés ; cependant, tous les signes dollar apparaissant dans les noms de fichier ne seront pas protégés non plus. Ce n’est actif que si bash utilise des contre−obliques pour protéger des noms de fichier complétés. Cette variable est définie par défaut, ce qui est le comportement de bash par défaut jusqu’à la version 4.2.

direxpand

Si existante, bash remplace les noms de répertoire par les résultats de développement de mots lors du complètement des noms de fichier. Cela modifie le contenu du tampon d’édition de readline. Sinon, bash essaye de conserver ce que l’utilisateur a tapé.

dirspell

Si existante, bash essaie de corriger les erreurs de frappe sur les noms de répertoire lors du complètement de mot si le nom de répertoire initialement fourni n’existe pas.

dotglob

Si existante, bash inclut les noms de fichiers commençant par un « . » dans les résultats des développements de chemins.

execfail

Si existante, un interpréteur non interactif ne terminera pas s’il ne peut exécuter un fichier indiqué en argument de la commande interne exec. Un interpréteur interactif ne termine pas si exec échoue.

expand_aliases

Si existante, les alias sont développés comme décrit ci−dessus, dans ALIAS. Cette option est activée par défaut pour les interpréteurs interactifs.

extdebug

Si existante, le comportement attendu par les traceurs est activé :

1.

L’option −F de la commande interne declare affiche le nom du fichier source et le numéro de ligne correspondant à chaque nom de fonction fourni comme argument.

2.

Si la commande lancée par la capture de DEBUG renvoie une valeur différente de zéro, la commande suivante est sautée et n’est pas exécutée.

3.

Si la commande lancée par la capture de DEBUG renvoie la valeur 2 et si l’interpréteur s’exécute dans un sous−programme (une fonction de l’interpréteur ou un script exécuté par les commandes internes . ou source), un appel à return est simulé.

4.

BASH_ARGC et BASH_ARGV sont mises à jour comme expliqué dans leurs descriptions ci−dessus.

5.

Le traçage des fonctions est activé : la substitution de commande, les fonctions de l’interpréteur et les sous−interpréteurs appelés avec ( command ) héritent des captures de DEBUG et RETURN.

6.

Le traçage d’erreur est activé : la substitution de commande, les fonctions de l’interpréteur et les sous−interpréteurs appelés avec ( command ) héritent de la capture de ERR.

extglob

Si existante, les fonctionnalités étendues de mise en correspondance décrites ci−dessus dans Développement des chemins sont activées.

extquote

Si existante, la protection par $'chaîne' et $"chaîne" est effectuée à l’intérieur des développements de ${paramètres} entre guillemets doubles. Cette option est activée par défaut.

failglob

Si existante, les motifs qui échouent à faire correspondre les noms de fichiers pendant le développement des chemins font qu’ils provoqueront une erreur de développement.

force_fignore

Si existante, les suffixes indiqués par la variable de l’interpréteur FIGNORE conduiront des mots à être ignorés lors du complètement de mot, même si les mots ignorés sont les seuls complètements possibles. Consultez VARIABLES DE L’INTERPRÉTEUR ci−dessus pour une description de FIGNORE. Cette option est activée par défaut.

globasciiranges

Si existante, les expressions d’intervalle utilisées dans les motifs de correspondance des expressions entre crochets (consultez Motifs génériques ci−dessus) se comportent comme avec les paramètres régionaux traditionnels de C lors des comparaisons. Cela signifie que l’ordre de collation des paramètres régionaux actuels n’est pas pris en compte, donc b ne sera pas ordonné entre A et B, et les caractères ASCII en majuscule et minuscule seront fusionnés.

globstar

Si existante, le motif ** utilisé dans un contexte de développement des chemins correspondra à tous les fichiers et zéro ou plusieurs répertoires et sous−répertoires. Si le motif est suivi de /, seuls les répertoires et sous−répertoires correspondent.

gnu_errfmt

Si existante, les messages d’erreur de l’interpréteur seront écrits dans le format standard GNU des messages d’erreurs.

histappend

Si existante, la file d’historique est ajoutée au fichier désigné par la valeur de la variable HISTFILE lorsque l’interpréteur termine, plutôt que d’écraser ce fichier.

histreedit

Si existante et si readline est utilisée, un utilisateur peut rééditer une substitution d’historique qui a échoué.

histverify

Si existante et si readline est utilisée, le résultat de la substitution d’historique n’est pas transmise immédiatement à l’analyseur de l’interpréteur. À la place, la ligne résultante est chargée dans le tampon d’édition de readline, permettant des modifications ultérieures.

hostcomplete

Si existante et si readline est utilisée, bash essayera d’effectuer le complètement des noms de machines lorsqu’un mot contient un @ (consultez Complètement dans READLINE ci−dessus). Cette option est activée par défaut.

huponexit

Si existante, bash enverra un signal SIGHUP à toutes les tâches lorsqu’un interpréteur de connexion interactif termine.

interactive_comments

Si existante, un mot commençant par un # conduira ce mot et tous les autres caractères restants de la ligne à être ignorés dans un interpréteur interactif (consultez COMMENTAIRES ci−dessus). Cette option est activée par défaut.

lastpipe

Si existante, et que le contrôle des tâches n’est pas activé, l’interpréteur exécute la dernière commande d’une conduite non exécutée en arrière−plan dans l’environnement d’interpréteur actuel.

lithist

Si existante et si l’option cmdhist est activée, les commandes multilignes sont sauvegardées dans l’historique avec des changements de ligne incorporés comme séparateurs plutôt que des points−virgules là où c’est possible.

login_shell

L’interpréteur crée cette option s’il est démarré en tant qu’interpréteur de connexion (consultez APPEL ci−dessus). La valeur ne peut être modifiée.

mailwarn

Si existante et s’il a été accédé à un fichier que bash surveille pour les courriers depuis sa dernière vérification, le message « Le courrier dans fichier_de_courrier a été lu. » est affiché.

no_empty_cmd_completion

Si existante et si readline est utilisée, bash n’essaiera pas d’utiliser le PATH pour de possibles complètements quand le complètement est tenté sur une ligne vide.

nocaseglob

Si existante, bash fait correspondre les noms de fichiers d’une façon insensible à la casse lors du développement des chemins (consultez Développement des chemins ci−dessus).

nocasematch

Si existante, bash fait correspondre les motifs d’une façon insensible à la casse lors de la mise en correspondance pendant l’exécution des commandes conditionnelles case ou [[.

nullglob

Si existante, bash autorise les motifs ne correspondant à aucun fichier (consultez Développement des chemins ci−dessus) à se développer en une chaîne NULL plutôt qu’en une valeur littérale.

progcomp

Si existante, les outils de complètement programmables (consultez Complètement programmable ci−dessus) sont activés. Cette option est activée par défaut.

promptvars

Si existante, les chaînes d’invite sont sujettes au développement des paramètres, à la substitution de commande, au développement arithmétique et à la suppression des protections après avoir été développées comme décrit ci−dessus dans INVITES. Cette option est activée par défaut.

restricted_shell

L’interpréteur crée cette option s’il est démarré en mode restreint (consultez INTERPRÉTEUR RESTREINT ci−dessous). Cette valeur ne peut pas être changée. Elle n’est pas réinitialisée lorsque les fichiers d’initialisation sont exécutés, ce qui permet à ces fichiers de découvrir si un interpréteur est restreint ou non.

shift_verbose

Si existante, la commande interne shift affiche un message d’erreur lorsque le nombre de décalages dépasse le nombre de paramètres positionnels.

sourcepath

Si existante, la commande interne source (.) utilise la valeur de la variable PATH pour trouver le répertoire contenant le fichier fourni en argument. Cette option est activée par défaut.

xpg_echo

Si existante, la commande interne echo développe par défaut les suites de caractères de protection par contre−oblique.

suspend [−f]

Suspendre l’exécution de l’interpréteur jusqu’à la réception d’un signal SIGCONT. Un interpréteur de connexion ne peut pas être suspendu ; l’option −f permet de surpasser ce comportement et force sa suspension. L’état renvoyé est 0, sauf si l’interpréteur est un interpréteur de connexion et que l’option −f est absente, ou si le contrôle des tâches n’est pas activé.

test expr
[
expr ]

Renvoyer un état de 0 (vrai) ou 1 (faux) suivant l’évaluation de la condition expr. Chaque opérateur et opérande doit être représenté par un argument distinct. Les conditions sont composées des primitives décrites ci−dessus dans CONDITIONS. test n’accepte aucune option, n’accepte pas non plus et ignore l’argument −− pour signifier la fin des options.

Les conditions peuvent être combinées avec les opérateurs suivant, décrits par ordre de priorité décroissante. L’évaluation dépend du nombre d’arguments, voir ci−dessous. La priorité des opérateurs est utilisée quand il y a au moins cinq arguments.

! expr

Vrai si expr est fausse.

( expr )

Renvoie la valeur de expr. Peut servir à surpasser la priorité normale des opérateurs.

expr1 −a expr2

Vrai si expr1 et expr2 sont toutes deux vraies.

expr1 −o expr2

Vrai si expr1 ou expr2 est vraie.

test et [ évaluent les conditions en fonction d’un jeu de règles dépendant du nombre d’arguments.
0 argument

La condition est fausse.

1 argument

La condition est vraie si et seulement si l’argument n’est pas NULL.

2 arguments

Si le premier argument est !, la condition est vraie si et seulement si le second argument est NULL. Si le premier argument est l’un des opérateurs conditionnel unaires décrits ci−dessus dans CONDITIONS la condition est vraie si le test unaire est vrai. Si le premier argument n’est pas un opérateur conditionnel unaire correct, la condition est fausse.

3 arguments

Les conditions suivantes sont appliquées dans l’ordre de la liste. Si le second argument est l’un des opérateurs conditionnels binaires décrits ci−dessus dans CONDITIONS, le résultat de la condition est le résultat du test binaire utilisant le premier et le troisième argument en tant qu’opérandes. Les opérateurs −a et −o sont considérés comme des opérateurs binaires quand ils sont avec trois arguments. Si le premier argument est !, la valeur est la négation du test binaire utilisant les deuxième et troisième arguments. Si le premier argument est exactement ( et le troisième argument est exactement ), le résultat est le test unaire du second argument. Sinon la condition est fausse.

4 arguments

Si le premier argument est !, le résultat est la négation de la condition à trois arguments composée des arguments restants. Sinon la condition est analysée et évaluée selon les règles de priorité décrites ci−dessus.

5 arguments ou plus

La condition est analysée et évaluée selon les règles de priorité décrites ci−dessus.

Lorsqu’ils sont utilisés avec test ou [, les opérateurs < et > ordonnent d’un point de vue lexicographique en utilisant l’ordre ASCII.

times

Afficher les durées cumulées utilisateur et système pour l’interpréteur et les processus lancés par cet interpréteur. L’état renvoyé est 0.

trap [−lp] [[argument] signal ...]

La commande argument doit être lue et exécutée quand l’interpréteur reçoit au moins un signal. Si argument est absent (et qu’un seul signal est fourni) ou , chaque signal indiqué est réinitialisé à sa position d’origine (la valeur qu’il avait lors de l’entrée dans l’interpréteur). Si argument est la chaîne NULL, chaque signal indiqué est ignoré par l’interpréteur et par les commandes qu’il appelle. Si argument n’est pas présent et que −p est fourni, les commandes capturées associées à chaque signal sont affichées. Si aucun argument n’est fourni, ou si seul −p est donné, trap affiche la liste des commandes associées à chaque signal. L’option −l conduit l’interpréteur à afficher une liste des noms de signal et leur numéro correspondant. Chaque signal est soit un nom de signal défini dans <signal.h>, soit un numéro de signal. Les noms de signal sont insensibles à la casse et le préfixe SIG est optionnel.

Si un signal est EXIT (0), la commande argument est exécutée lors de la sortie de l’interpréteur. Si un signal est DEBUG, la commande argument est exécutée avant toute commande simple, commande for, commande case, commande select, toute commande for arithmétique, et avant que la première commande n’exécute une fonction de l’interpréteur (consultez GRAMMAIRE DE L’INTERPRÉTEUR ci−dessus). Reportez−vous à la description de l’option extdebug de la commande interne shopt pour obtenir des renseignements sur les effets de la capture DEBUG. Si un signal est RETURN, la commande argument est exécutée à chaque fois qu’une fonction de l’interpréteur, ou un script exécuté avec les commandes internes . ou source, termine son exécution.

Si un signal est ERR, la commande argument est exécutée chaque fois qu’une conduite (qui peut être réduite à une unique commande simple), une liste ou une commande composée renvoie un état final différent de zéro, sujet aux conditions suivantes. La capture ERR n’est pas exécutée si la commande échouant fait partie d’une liste de commandes suivant immédiatement un mot clef while ou until, d’un test if, d’une commande exécutée au sein d’une liste de && ou de || sauf la commande suivant le dernier && ou ||, n’importe quelle commande d’une conduite sauf la dernière, ou si la valeur renvoyée par la commande est inversée par !. Ce sont les mêmes conditions que celles observées par l’option errexit (−e).

Les signaux ignorés en entrant dans l’interpréteur ne peuvent être capturés ou réinitialisés. Les signaux capturés qui ne sont pas ignorés sont réinitialisés à leur valeur d’origine dans un sous−interpréteur ou un environnement de sous−interpréteur quand il est créé. L’état renvoyé est faux si un signal n’est pas valable, sinon trap renvoie vrai.

type [−aftpP] nom [nom ...]

Sans option, indiquer la façon d’interpréter chaque nom s’il est utilisé en nom de commande. Si l’attribut −t est utilisé, type affiche une des chaînes alias, keyword, function, builtin ou file selon que le nom est un alias, un mot clef réservé de l’interpréteur, une fonction, une commande interne ou un fichier sur le disque. Si le nom n’est pas trouvé, rien n’est affiché et un état final à faux est renvoyé. Si l’option −p est utilisée, type renvoie le nom du fichier qui sera exécuté si l’on tape le nom en guise de commande ou rien si « type -t name » ne renvoyait pas file. L’option −P force une recherche dans PATH pour chaque nom, même si « type -t name » ne renvoyait pas file. Si une commande est disponible dans la table de hachage, −p et −P affichent la valeur de cette table, qui n’est pas nécessairement le fichier apparaissant en premier dans PATH. Si l’option −a est appelée, type affiche tous les emplacements contenant un exécutable du nom indiqué. Cela inclut les alias et les fonctions, sauf si l’option −p est également présente. La table de hachage des commandes n’est pas consultée avec l’option −a. L’option −f supprime la fonction de l’interpréteur de consultation de table, comme avec la commande interne command. type renvoie vrai si tous les arguments sont trouvés et faux si aucun n’a été trouvé.

ulimit [−HSTabcdefilmnpqrstuvx [limitation]]

Fournir, sur les systèmes qui le permettent, un mécanisme de contrôle des ressources disponibles pour l’interpréteur et pour les processus qu’il lance. Les options −H et −S indiquent si la limitation est stricte (« hard ») ou flexible (« soft ») pour la ressource indiquée. Une limitation stricte ne peut pas être augmentée par un utilisateur non privilégié une fois qu’elle a été configurée ; une limitation flexible peut être augmentée jusqu’à la valeur de la limitation stricte correspondante. Si ni −H ni −S n’est indiqué, les limitations stricte et flexible sont toutes deux configurées. La valeur de la limitation peut être un nombre (utilisant les unités particulières de la ressource) ou l’une des valeurs spéciales hard, soft ou unlimited, qui signifient, respectivement, la limitation stricte actuelle, la limitation flexible actuelle et l’absence de limitation. Si la limitation est omise, la valeur actuelle de la limitation flexible pour la ressource est affichée, à moins que l’option −H soit indiquée. Quand plusieurs ressources sont indiquées, les noms des limitations et leurs unités sont affichés avant les valeurs. Les autres options sont interprétées comme suit :

−a

Toutes les limitations actuelles sont signalées

−b

La taille maximale du tampon de socket

−c

La taille maximale des fichiers core créés

−d

La taille maximale du segment de données d’un processus

−e

La priorité maximale d’ordonnancement (« nice »)

−f

La taille maximale d’un fichier écrit par l’interpréteur et ses fils

−i

Le nombre maximal de signaux en attente

−l

La taille maximale qui peut être verrouillée en mémoire

−m

La taille maximale de la partie résidente d’un processus (« resident set size » ou RSS, la plupart des systèmes ne respectent pas cette limite)

−n

Le nombre maximal de descripteurs de fichiers ouverts (la plupart des systèmes ne permettent pas de modifier cette valeur)

−p

La taille d’un tube en blocs de 512 octets (parfois inexistante)

−q

Le nombre maximal d’octets dans les files de messages POSIX

−r

La priorité maximale d’ordonnancement temps−réel

−s

La taille maximale de la pile

−t

La durée maximale, en seconde, de temps processeur accordé à un processus

−u

Le nombre maximal de processus autorisés pour un seul utilisateur

−v

La quantité maximale de mémoire virtuelle disponible pour l’interpréteur et, sur certains systèmes, pour ses fils

−x

Le nombre maximal de verrous de fichiers

−T

Le nombre maximal de processus légers (« threads »)

Si une limitation est indiquée, et que l’option −a n’est pas donnée, limitation sera la nouvelle valeur pour la ressource indiquée. Si aucune option n’est indiquée alors −f est supposée. Les valeurs s’expriment par pas de 1024 octets, sauf pour −t qui est en seconde, −p qui utilise comme unité le bloc de 512 octets, ainsi que −T, −b, −n et −u, qui n’ont pas d’unité. L’état renvoyé est 0, sauf si une option ou un argument incorrect a été fourni ou si une erreur se produit en configurant la nouvelle limitation.

umask [−p] [−S] [mode]

Le masque de création de fichier de l’utilisateur est configuré à mode. Si mode commence par un chiffre, il est interprété comme un nombre octal, sinon il est considéré comme un masque symbolique, semblable à ceux acceptés par chmod(1). Si mode est omis ou si l’option −S est fournie, la valeur actuelle du masque est affichée. L’option −S conduit à l’affichage du masque sous forme symbolique, l’affichage par défaut étant en octal. Si l’option −p est fournie et si le mode est omis, la sortie a lieu dans un format réutilisable en entrée. L’état renvoyé est 0 si le mode a pu être changé correctement ou si aucun argument mode n’a été fourni, et faux sinon.

unalias [−a] [nom ...]

Supprimer le nom de la liste des alias définis. Si l’option −a est fournie, toutes les définitions d’alias sont supprimées. La valeur renvoyée est vrai, sauf si un nom fourni n’est pas un alias défini.

unset [−fv] [−n] [name ...]

Pour chaque nom indiqué, supprimer la variable ou la fonction correspondante. Si l’option −v est indiquée, chaque nom se rapporte à une variable de l’interpréteur, et cette variable est supprimée. Les variables en lecture seule ne peuvent pas être détruites. Si l’option −f est indiquée, chaque nom se rapporte à une fonction de l’interpréteur et la définition de la fonction est supprimée. Si l’option −n est fournie, et que nom est une variable avec l’attribut nameref, nom sera détruite plutôt que la variable qu’elle référence. −n n’a pas d’effet si l’option −f est fournie. Si aucune option n’est fournie, chaque nom fait référence à une variable ; si aucune variable de ce nom n’existe, toutes les fonctions de ce nom sont détruites. Toutes les variables et fonctions détruites sont supprimées de l’environnement transmis aux commandes ultérieures. Si l’une des variables COMP_WORDBREAKS, RANDOM, SECONDS, LINENO, HISTCMD, FUNCNAME, GROUPS ou DIRSTACK est détruite, elle perd ses propriétés spécifiques, même si elle est recréée ultérieurement. L’état final est vrai sauf si un des noms est en lecture seule.

wait [−n] [n ...]

Attendre que tous les processus fils indiqués s’exécutent et renvoient leur état final. Chaque n peut être un PID ou une spécification de tâche ; si une spécification de tâche est indiquée, la fin de tous les processus de la conduite de cette tâche sera attendue. Si n est omis, la fin de tous les processus fils actuellement actifs sera attendue et l’état renvoyé est zéro. Si l’option −n est fournie, wait attend que chaque tâche se termine et renvoie son état final. Si n indique un processus ou une tâche inexistants, l’état renvoyé est 127. Sinon, l’état renvoyé est l’état final du dernier processus, ou tâche, attendu.

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess et Thierry Vignaud en 1997, et mise à jour par Alain Portal <aportal AT univ−montp2 DOT fr> en 2006.

La version présente dans Debian a été entièrement retravaillée par Frédéric Lehobey <Frederic AT Lehobey DOT net> et est dorénavant maintenue par David Prévot david AT tilapin DOT org et les membres de la liste debian−l10n−french AT lists DOT debian DOT org.

Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages−fr−extra.

VOIR AUSSI

bash(1), sh(1)

pdf