AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

bash-static - En ligne dans le Cloud

Exécutez bash-static dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande bash-static qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


bash - Shell GNU Bourne-Again

SYNOPSIS


bash [options] [chaîne_commande | déposer]

DROIT D'AUTEUR


Bash est protégé par copyright (C) 1989-2013 par la Free Software Foundation, Inc.

DESCRIPTION


Frapper est un sh-interpréteur de langage de commande compatible qui exécute les commandes lues à partir du
entrée standard ou à partir d'un fichier. Frapper intègre également des fonctionnalités utiles de la Korn ainsi que C
coquilles (ksh ainsi que csh).

Frapper est destiné à être une mise en œuvre conforme de la partie Shell et utilitaires de
la spécification IEEE POSIX (norme IEEE 1003.1). Frapper peut être configuré pour être POSIX-
conforme par défaut.

OPTIONS


Toutes les options de shell à caractère unique documentées dans la description du set
La commande intégrée peut être utilisée comme options lorsque le shell est appelé. En outre, bash
interprète les options suivantes lorsqu'il est invoqué :

-c Si la -c l'option est présente, alors les commandes sont lues à partir de la première non-option
argument chaîne_commande. S'il y a des arguments après le chaîne_commande, Ils
sont affectés aux paramètres de position, en commençant par $0.
-i Si la -i l'option est présente, le shell est Interactif.
-l Marque bash agir comme s'il avait été invoqué en tant que shell de connexion (voir INVOCATION ci-dessous).
-r Si la -r l'option est présente, le shell devient limité (voir LIMITÉ SHELL
ci-dessous).
-s Si la -s l'option est présente, ou s'il ne reste aucun argument après le traitement de l'option,
puis les commandes sont lues à partir de l'entrée standard. Cette option permet au
paramètres de position à définir lors de l'appel d'un shell interactif.
-D Une liste de toutes les chaînes entre guillemets précédées de $ est imprimé sur la norme
sortir. Ce sont les chaînes qui font l'objet d'une traduction linguistique lorsque le
les paramètres régionaux actuels ne sont pas C or POSIX. Cela implique la -n option; aucune commande ne sera
être exécuté.
[-+]O [option_boutique]
option_boutique est l'une des options de shell acceptées par le magasiner intégré (voir
SHELL BÂTI COMMANDES au dessous de). Si option_boutique est présent, -O fixe la valeur de
cette option ; +O le désactive. Si option_boutique n'est pas fourni, les noms et
valeurs des options du shell acceptées par magasiner sont imprimés sur la norme
sortir. Si l'option d'appel est +O, la sortie est affichée dans un format
qui peut être réutilisé comme entrée.
-- A -- signale la fin des options et désactive le traitement ultérieur des options. Tout
arguments après la -- sont traités comme des noms de fichiers et des arguments. Un argument de -
équivaut à --.

Frapper interprète également un certain nombre d'options à plusieurs caractères. Ces options doivent apparaître sur
la ligne de commande avant les options à caractère unique à reconnaître.

--débogueur
Faites en sorte que le profil du débogueur soit exécuté avant le démarrage du shell. S'allume
mode de débogage étendu (voir la description du extdebug option à la magasiner
intégré ci-dessous).
--dump-po-chaînes
Équivalent à -D, mais la sortie est dans le GNU gettext po fichier (objet portable)
le format.
--dump-chaînes
Équivalent à -D.
--Aidez-moi Affichez un message d'utilisation sur la sortie standard et quittez avec succès.
--init-fichier filet
--rcfile filet
Exécuter les commandes de filet au lieu du fichier d'initialisation à l'échelle du système
/etc/bash.bashrc et le fichier d'initialisation personnel standard ~ / .bashrc si le
shell est interactif (voir INVOCATION ci-dessous).

--connexion
Équivalent à -l.

--pas de modification
N'utilisez pas le GNU readline bibliothèque pour lire les lignes de commande lorsque le shell est
interactif.

--Pas de profil
Ne lisez pas non plus le fichier de démarrage à l'échelle du système / etc / profile ou l'un des éléments personnels
fichiers d'initialisation ~ / .bash_profile, ~ / .bash_loginou ~ / .profile. Par défaut,
bash lit ces fichiers lorsqu'il est invoqué en tant que shell de connexion (voir INVOCATION ci-dessous).

--norc Ne pas lire et exécuter le fichier d'initialisation à l'échelle du système /etc/bash.bashrc ainsi que
le fichier d'initialisation personnel ~ / .bashrc si le shell est interactif. Cette
l'option est activée par défaut si le shell est invoqué en tant que sh.

--posix
Changer le comportement de bash où l'opération par défaut diffère du POSIX
norme pour correspondre à la norme (posix mode). Voir VOIR AUSSI ci-dessous pour une référence à
un document qui détaille comment le mode posix affecte le comportement de bash.

--limité
La coquille devient restreinte (voir LIMITÉ SHELL ci-dessous).

--verbeux
Équivalent à -v.

--version
Afficher les informations de version pour cette instance de bash sur la sortie standard et sortie
avec succès.

ARGUMENTS


S'il reste des arguments après le traitement des options et que ni le -c ni l' -s l'option a été
fourni, le premier argument est supposé être le nom d'un fichier contenant shell
commandes. Si bash est invoqué de cette façon, $0 est défini sur le nom du fichier, et le
les paramètres positionnels sont définis sur les arguments restants. Frapper lit et exécute
commandes de ce fichier, puis se ferme. Frapperle statut de sortie de est le statut de sortie du dernier
commande exécutée dans le script. Si aucune commande n'est exécutée, l'état de sortie est 0. Un
on essaie d'abord d'ouvrir le fichier dans le répertoire courant et, si aucun fichier n'est trouvé,
puis le shell recherche les répertoires dans PATH pour le script.

INVOCATION


A vous connecter coquille est celui dont le premier caractère de l'argument zéro est un -, ou l'un a commencé par
le --connexion option.

An Interactif shell est un démarrage sans arguments non optionnels et sans le -c option
dont l'entrée standard et l'erreur sont toutes deux connectées aux bornes (comme déterminé par
isatty(3)), ou on a commencé par le -i option. PS1 est réglé et $- inclut i if bash is
interactif, permettant à un script shell ou à un fichier de démarrage de tester cet état.

Les paragraphes suivants décrivent comment bash exécute ses fichiers de démarrage. Si l'un des
les fichiers existent mais ne peuvent pas être lus, bash signale une erreur. Les tildes sont développés dans les noms de fichiers
comme décrit ci-dessous sous Tilde Expansion dans l' EXPANSION .

Quand bash est invoqué en tant que shell de connexion interactif ou en tant que shell non interactif avec le
--connexion option, il lit et exécute d'abord les commandes du fichier / etc / profile, Si cela
le fichier existe. Après avoir lu ce fichier, il recherche ~ / .bash_profile, ~ / .bash_loginet
~ / .profile, dans cet ordre, et lit et exécute les commandes du premier qui existe
et est lisible. le --Pas de profil L'option peut être utilisée lorsque le shell est démarré pour inhiber
Ce comportement.

Lorsqu'un shell de connexion se ferme, bash lit et exécute les commandes du fichier ~ / .bash_logout,
S'il existe.

Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, bash lit et exécute
commandes de /etc/bash.bashrc ainsi que ~ / .bashrc, si ces fichiers existent. Cela peut être inhibé
En utilisant le --norc option. La --rcfile filet l'option forcera bash lire et exécuter
commandes de filet au lieu de /etc/bash.bashrc ainsi que ~ / .bashrc.

Quand bash est démarré de manière non interactive, pour exécuter un script shell, par exemple, il recherche
la variable BASH_ENV dans l'environnement, augmente sa valeur s'il y apparaît, et utilise
la valeur développée comme nom d'un fichier à lire et à exécuter. Frapper se comporte comme si le
la commande suivante a été exécutée :
if [ -n "$BASH_ENV" ] ; alors . "$BASH_ENV" ; Fi
mais la valeur du PATH La variable n'est pas utilisée pour rechercher le nom de fichier.

If bash est invoqué avec le nom sh, il essaie d'imiter le comportement de démarrage de l'historique
les versions d' sh aussi fidèlement que possible, tout en étant également conforme à la norme POSIX.
Lorsqu'il est invoqué en tant que shell de connexion interactif ou en tant que shell non interactif avec le --connexion
option, il tente d'abord de lire et d'exécuter des commandes à partir de / etc / profile ainsi que ~ / .profile,
dans cet ordre. le --Pas de profil L'option peut être utilisée pour empêcher ce comportement. Lorsqu'il est invoqué
comme un shell interactif avec le nom sh, bash cherche la variable ENV, étend son
valeur si elle est définie, et utilise la valeur développée comme nom d'un fichier à lire et
exécuter. Puisqu'un shell invoqué en tant que sh n'essaye pas de lire et d'exécuter les commandes de
tout autre fichier de démarrage, le --rcfile l'option n'a aucun effet. Un shell non interactif
invoqué avec le nom sh n'essaye pas de lire d'autres fichiers de démarrage. Lorsqu'il est invoqué
as sh, bash entre posix mode après la lecture des fichiers de démarrage.

Quand bash est commencé en posix mode, comme avec le --posix option de ligne de commande, il suit
la norme POSIX pour les fichiers de démarrage. Dans ce mode, les shells interactifs étendent le ENV
la variable et les commandes sont lues et exécutées à partir du fichier dont le nom est le
valeur. Aucun autre fichier de démarrage n'est lu.

Frapper tente de déterminer quand il est exécuté avec son entrée standard connectée à un
connexion réseau, comme lorsqu'elle est exécutée par le démon shell distant, généralement Rshdou de la
démon shell sécurisé sshd. Si bash détermine qu'il est exécuté de cette manière, il lit
et exécute les commandes de ~ / .bashrc ainsi que ~ / .bashrc, si ces fichiers existent et sont lisibles.
Il ne le fera pas s'il est invoqué comme shL’ --norc l'option peut être utilisée pour inhiber cette
comportement, et le --rcfile peut être utilisée pour forcer la lecture d'un autre fichier, mais
ni Rshd ni sshd généralement invoquer le shell avec ces options ou leur permettre d'être
spécifié.

Si le shell est démarré avec l'identifiant d'utilisateur effectif (groupe) différent de l'utilisateur réel
(groupe) id, et le -p l'option n'est pas fournie, aucun fichier de démarrage n'est lu, fonctions shell
ne sont pas héritées de l'environnement, les COQUILLAGES, BACHETS, CDPATHet GLOBIGNORE
les variables, si elles apparaissent dans l'environnement, sont ignorées et l'ID utilisateur effectif est
défini sur l'ID utilisateur réel. Si la -p l'option est fournie à l'appel, le comportement de démarrage
est le même, mais l'ID utilisateur effectif n'est pas réinitialisé.

DÉFINITIONS


Les définitions suivantes sont utilisées dans le reste de ce document.
vide Un espace ou une tabulation.
mot Une séquence de caractères considérée comme une seule unité par le shell. Aussi connu sous le nom de
jeton.
prénom A mot composé uniquement de caractères alphanumériques et de traits de soulignement, et commençant
avec un caractère alphabétique ou un trait de soulignement. Aussi appelé un identifiant.
métacaractère
Un caractère qui, lorsqu'il n'est pas entre guillemets, sépare les mots. L'un des éléments suivants :
| & ; ( ) < > espace languette
des bactéries opérateur
A jeton qui remplit une fonction de contrôle. C'est l'un des symboles suivants :
|| & && ; ;; ( ) | |&

RÉSERVÉ MOTS


Reservé des mots sont des mots qui ont une signification particulière pour le shell. Les mots suivants
sont reconnus comme réservés lorsqu'ils ne sont pas guillemets et soit le premier mot d'une simple commande
(voir SHELL GRAMMAIRE ci-dessous) ou le troisième mot d'un maisons or en commander:

! maisons coproc do fait Elif d'autre Esac fi en fonction if in Sélectionner puis jusqu'à tout en { }
fiable [[ ]]

SHELL GRAMMAIRE


étapes Commandes
A simple commander est une séquence d'affectations de variables facultatives suivies de vide-
mots séparés et redirections, et terminé par un des bactéries opérateur. Le premier mot
spécifie la commande à exécuter et est passé comme argument zéro. Les mots restants
sont passés en arguments à la commande invoquée.

La valeur de retour d'un simple commander est son état de sortie, ou 128+n si la commande est
terminé par le signal n.

Pipelines
A pipeline est une séquence d'une ou plusieurs commandes séparées par l'un des opérateurs de contrôle
| or |&. Le format d'un pipeline est :

[fiable [-p]] [ ! ] commander [[||&] command2 ...]

La sortie standard de commander est relié par un tuyau à l'entrée standard de command2.
Cette connexion est effectuée avant toute redirection spécifiée par la commande (voir
REDIRECTION au dessous de). Si |& est utilisé, commanderl'erreur standard de , en plus de son erreur standard
sortie, est connecté à command2entrée standard à travers le tuyau ; c'est un raccourci pour
2> et 1 |. Cette redirection implicite de l'erreur standard vers la sortie standard est
effectuée après toutes les redirections spécifiées par la commande.

L'état de retour d'un pipeline est l'état de sortie de la dernière commande, à moins que le
panne de canalisation l'option est activée. Si panne de canalisation est activé, le statut de retour du pipeline est le
valeur de la dernière commande (la plus à droite) à quitter avec un état différent de zéro, ou zéro si tout
les commandes se terminent avec succès. Si le mot réservé ! précède un pipeline, l'état de sortie
de ce pipeline est la négation logique de l'état de sortie comme décrit ci-dessus. La coquille
attend que toutes les commandes du pipeline se terminent avant de renvoyer une valeur.

Si la fiable le mot réservé précède un pipeline, le temps écoulé ainsi que le temps utilisateur et système
consommés par son exécution sont signalés lorsque le pipeline se termine. le -p option
remplace le format de sortie par celui spécifié par POSIX. Lorsque la coquille est en posix mode, Il
ne reconnaît pas fiable comme mot réservé si le jeton suivant commence par un « - ». Les
FORMAT DE L'HEURE variable peut être définie sur une chaîne de format qui spécifie comment le timing
les informations doivent être affichées ; voir la description de FORMAT DE L'HEURE sous coquillage Variables
ci-dessous.

Lorsque la coquille est en posix mode, fiable peut être suivi d'un saut de ligne. Dans ce cas, le
shell affiche le temps total utilisateur et système consommé par le shell et ses enfants. le
FORMAT DE L'HEURE La variable peut être utilisée pour spécifier le format des informations de temps.

Chaque commande d'un pipeline est exécutée en tant que processus distinct (c'est-à-dire dans un sous-shell).

Liste
A liste est une séquence d'un ou plusieurs pipelines séparés par l'un des opérateurs ;, &, &&,
or ||, et éventuellement terminé par l'un des ;, &ou .

Parmi ces opérateurs de liste, && ainsi que || ont la même priorité, suivis de ; ainsi que &, qui ont
priorité égale.

Une séquence d'une ou plusieurs nouvelles lignes peut apparaître dans un liste au lieu d'un point-virgule pour délimiter
les commandes.

Si une commande est terminée par l'opérateur de contrôle &, le shell exécute la commande dans
le fond dans un sous-shell. Le shell n'attend pas la fin de la commande et le
l'état de retour est 0. Commandes séparées par un ; sont exécutés séquentiellement ; la coquille attend
pour que chaque commande se termine à son tour. Le statut de retour est le statut de sortie du dernier
commande exécutée.

Les listes ET et OU sont des séquences d'un ou plusieurs pipelines séparés par le && ainsi que || des bactéries
opérateurs, respectivement. Les listes ET et OU sont exécutées avec une associativité à gauche. Un ET
la liste a la forme

command1 && command2

command2 est exécuté si, et seulement si, command1 renvoie un état de sortie de zéro.

Une liste OU a la forme

command1 || command2

command2 est exécuté si et seulement si command1 renvoie un état de sortie différent de zéro. Le retour
L'état des listes ET et OU est l'état de sortie de la dernière commande exécutée dans la liste.

Composé Commandes
A composé commander est l'un des suivants. Dans la plupart des cas un liste dans une commande
la description peut être séparée du reste de la commande par une ou plusieurs nouvelles lignes, et peut
être suivi d'une nouvelle ligne à la place d'un point-virgule.

(liste) liste est exécuté dans un environnement de sous-shell (voir COMMAND EXÉCUTION ENVIRONNEMENT
au dessous de). Les affectations de variables et les commandes intégrées qui affectent le shell
l'environnement ne restent pas en vigueur une fois la commande terminée. Le statut de retour
est le statut de sortie de liste.

{ liste; }
liste est simplement exécuté dans l'environnement shell courant. liste doit être résilié
avec une nouvelle ligne ou un point-virgule. Ceci est connu comme un groupe commander. Le statut de retour
est le statut de sortie de liste. Notez que contrairement aux métacaractères ( ainsi que ), { ainsi que }
réservé des mots et doit se produire lorsqu'un mot réservé est autorisé à être
reconnu. Puisqu'ils ne provoquent pas de rupture de mot, ils doivent être séparés de liste
par un espace ou un autre métacaractère du shell.

((expression))
La expression est évalué selon les règles décrites ci-dessous sous ARITHMÉTIQUE
ÉVALUATION. Si la valeur de l'expression n'est pas nulle, le statut de retour est 0 ;
sinon le statut de retour est 1. Ceci est exactement équivalent à laisser "expression".

[[ expression ]]
Renvoie un statut de 0 ou 1 selon l'évaluation de l'expression conditionnelle
expression. Les expressions sont composées des primaires décrites ci-dessous sous
CONDITIONNEL EXPRESSIONS. Le fractionnement de mots et l'expansion du nom de chemin ne sont pas effectués
sur les mots entre le [[ ainsi que ]]; expansion tilde, paramètre et variable
expansion, expansion arithmétique, substitution de commandes, substitution de processus et
la suppression des devis sont effectuées. Les opérateurs conditionnels tels que -f doit être non coté pour
être reconnus comme primaires.

Lorsqu'il est utilisé avec [[, < ainsi que > les opérateurs trient lexicographiquement en utilisant le courant
Local.

Voir la description du tester commande intégrée (section SHELL BUILTIN COMMANDS ci-dessous) pour
la gestion des paramètres (c'est-à-dire les paramètres manquants).

When the == ainsi que != opérateurs sont utilisés, la chaîne à droite de l'opérateur est
considéré comme un modèle et apparié selon les règles décrites ci-dessous sous Patron de Couture
Des, comme si le extglob l'option shell ont été activées. le = l'opérateur est équivalent à
==. Si l'option shell aucune correspondance de cas est activé, la correspondance est effectuée sans tenir compte de
le cas des caractères alphabétiques. La valeur de retour est 0 si la chaîne correspond (==) ou
ne correspond pas (!=) le motif, et 1 sinon. Toute partie du modèle peut être citée
pour forcer la partie entre guillemets à être mise en correspondance en tant que chaîne.

Un opérateur binaire supplémentaire, =~, est disponible, avec la même priorité que == ainsi que !=.
Lorsqu'elle est utilisée, la chaîne à droite de l'opérateur est considérée comme une extension régulière
expression et apparié en conséquence (comme dans regex(3)). La valeur de retour est 0 si la chaîne
correspond au motif, et 1 sinon. Si l'expression régulière est syntaxiquement
incorrect, la valeur de retour de l'expression conditionnelle est 2. Si l'option shell
aucune correspondance de cas est activé, la correspondance est effectuée sans tenir compte de la casse alphabétique
personnages. N'importe quelle partie du modèle peut être citée pour forcer la partie citée à être
correspond à une chaîne. Les expressions entre crochets dans les expressions régulières doivent être traitées
soigneusement, car les guillemets normaux perdent leur signification entre parenthèses. Si la
le motif est stocké dans une variable shell, la citation de la variable d'expansion force l'ensemble
modèle à faire correspondre en tant que chaîne. Sous-chaînes mises en correspondance par des sous-expressions entre parenthèses
dans l'expression régulière sont enregistrés dans la variable de tableau BASH_REMATCH. L'élément
of BASH_REMATCH avec l'indice 0 est la partie de la chaîne correspondant à l'ensemble régulier
expression. L'élément de BASH_REMATCH avec index n est la partie de la chaîne
correspondant à la ne sous-expression entre parenthèses.

Les expressions peuvent être combinées à l'aide des opérateurs suivants, classés par ordre décroissant de
priorité:

( expression )
Renvoie la valeur de expression. Cela peut être utilisé pour remplacer la normale
priorité des opérateurs.
! expression
Vrai si expression c'est faux.
expression1 && expression2
Vrai si les deux expression1 ainsi que expression2 sont vrai.
expression1 || expression2
Vrai si soit expression1 or expression2 est vrai.

La && ainsi que || les opérateurs n'évaluent pas expression2 si la valeur de expression1 is
suffisant pour déterminer la valeur de retour de l'expression conditionnelle entière.

en prénom [[ in [ mot ] ] ; ] do liste ; fait
La liste de mots qui suit in est développé, générant une liste d'éléments. Les
variable prénom est défini sur chaque élément de cette liste à tour de rôle, et liste est exécuté
chaque fois. Si la in mot est omis, le en la commande s'exécute liste une fois pour chaque
paramètre de position défini (voir PARAMETRES au dessous de). Le statut de retour est le
état de sortie de la dernière commande exécutée. Si l'expansion des articles
Abonnement in aboutit à une liste vide, aucune commande n'est exécutée et le retour
le statut est 0.

en (( expression1 ; expression2 ; expression3 )) ; do liste ; fait
Premièrement, l'expression arithmétique expression1 est évalué selon les règles
décrit ci-dessous sous ARITHMÉTIQUE ÉVALUATION. L'expression arithmétique expression2 is
puis évalué à plusieurs reprises jusqu'à ce qu'il soit évalué à zéro. Chaque fois expression2 évalue à
une valeur non nulle, liste est exécuté et l'expression arithmétique expression3 is
évalué. Si une expression est omise, elle se comporte comme si elle était évaluée à 1. Le
la valeur de retour est l'état de sortie de la dernière commande dans liste qui est exécuté, ou
false si l'une des expressions est invalide.

Sélectionner prénom [ in mot ] ; do liste ; fait
La liste de mots qui suit in est développé, générant une liste d'éléments. L'ensemble des
les mots développés sont imprimés sur l'erreur standard, chacun précédé d'un nombre. Si la
in mot est omis, les paramètres de position sont imprimés (voir PARAMETRES ci-dessous).
La PS3 L'invite s'affiche alors et une ligne est lue à partir de l'entrée standard. Si la
ligne se compose d'un nombre correspondant à l'un des mots affichés, puis le
valeur de prénom est réglé sur ce mot. Si la ligne est vide, les mots et l'invite sont
affiché à nouveau. Si EOF est lu, la commande se termine. Toute autre valeur lue
les causes prénom être mis à null. La ligne lue est enregistrée dans la variable RÉPONDREL’
liste est exécuté après chaque sélection jusqu'à ce qu'un pause la commande est exécutée. La sortie
statut de Sélectionner est l'état de sortie de la dernière commande exécutée dans liste, ou zéro
si aucune commande n'a été exécutée.

maisons mot in [ [(] modèle [ | modèle ] ... ) liste ;; ]... Esac
A maisons la commande se développe d'abord mot, et essaie de le comparer à chaque modèle in
tourner, en utilisant les mêmes règles de correspondance que pour l'expansion du nom de chemin (voir Chemin d'accès
Expansion au dessous de). Les mot est développé en utilisant l'expansion tilde, le paramètre et
expansion de variable, substitution arithmétique, substitution de commande, processus
substitution et suppression de devis. Chaque modèle examiné est développé en utilisant tilde
expansion, expansion de paramètres et de variables, substitution arithmétique, commande
substitution et substitution de processus. Si l'option shell aucune correspondance de cas is
activé, la correspondance est effectuée sans tenir compte de la casse alphabétique
personnages. Lorsqu'une correspondance est trouvée, le liste est exécuté. Si la ;;
l'opérateur est utilisé, aucune correspondance ultérieure n'est tentée après le premier modèle
correspondre. Utilisant ;& au lieu de ;; entraîne la poursuite de l'exécution avec le liste
associé à l'ensemble de motifs suivant. À l'aide de ;;& au lieu de ;; provoque la
shell pour tester la prochaine liste de modèles dans l'instruction, le cas échéant, et exécuter n'importe quel
associé liste sur un match réussi. L'état de sortie est zéro si aucun motif
allumettes. Sinon, c'est l'état de sortie de la dernière commande exécutée dans liste.

if liste; puis liste; [ Elif liste; puis liste; ] ... [ d'autre liste; ] fi
La if liste est exécuté. Si son état de sortie est zéro, le puis liste est exécuté.
Sinon, chaque Elif liste est exécuté à son tour, et si son état de sortie est zéro, le
correspondant puis liste est exécuté et la commande se termine. Sinon, le d'autre
liste est exécuté, s'il est présent. L'état de sortie est l'état de sortie du dernier
commande exécutée, ou zéro si aucune condition testée vraie.

tout en liste-1; do liste-2; fait
jusqu'à liste-1; do liste-2; fait
La tout en la commande exécute en continu la liste liste-2 tant que la dernière commande
dans la liste liste-1 renvoie un état de sortie de zéro. Les jusqu'à la commande est identique
à la tout en commande, sauf que le test est annulé ; liste-2 est exécuté tant que
comme dernière commande dans liste-1 renvoie un état de sortie différent de zéro. Le statut de sortie de
le tout en ainsi que jusqu'à commandes est l'état de sortie de la dernière commande exécutée dans
liste-2, ou zéro si aucune n'a été exécutée.

Coprocessus
A co-processus est une commande shell précédée du coproc mot reservé. Un coprocessus est
exécuté de manière asynchrone dans un sous-shell, comme si la commande s'était terminée avec le &
opérateur de contrôle, avec un tube bidirectionnel établi entre le shell d'exécution et le
coprocessus.

Le format d'un coprocessus est :

coproc [Nom] commander [redirections]

Cela crée un coprocessus nommé Nom. Si Nom n'est pas fourni, le nom par défaut est COPROC.
Nom ne doit pas être fourni si commander est une simple commander (voir au dessus); sinon c'est
interprété comme le premier mot de la commande simple. Lorsque le coprocessus est exécuté, le
shell crée une variable tableau (voir Arrays ci-dessous) nommé Nom dans le contexte de
l'exécution du shell. La sortie standard de commander est connecté via un tuyau à un fichier
descripteur dans le shell d'exécution, et ce descripteur de fichier est affecté à Nom[0]. le
entrée standard de commander est connecté via un tube à un descripteur de fichier dans l'exécution
shell, et ce descripteur de fichier est affecté à Nom[1]. Ce tuyau est établi avant
toutes les redirections spécifiées par la commande (voir REDIRECTION au dessous de). Les descripteurs de fichiers
peut être utilisé comme arguments pour les commandes shell et les redirections en utilisant un mot standard
extensions. Les descripteurs de fichiers ne sont pas disponibles dans les sous-shells. L'ID de processus du
shell généré pour exécuter le coprocess est disponible en tant que valeur de la variable Nom_PID.
La attendez La commande intégrée peut être utilisée pour attendre la fin du coprocessus.

Étant donné que le coprocessus est créé en tant que commande asynchrone, le coproc commande toujours
renvoie le succès. Le statut de retour d'un coprocessus est le statut de sortie de commander.

coquillage Fonction Définitions
Une fonction shell est un objet qui est appelé comme une simple commande et exécute un composé
commande avec un nouvel ensemble de paramètres de position. Les fonctions shell sont déclarées comme suit :

prénom () commande-composée [redirection]
fonction prénom [()] commande-composée [redirection]
Ceci définit une fonction nommée prénom. Le mot réservé fonction est facultatif. Si
le fonction mot réservé est fourni, les parenthèses sont facultatives. le corps of
la fonction est la commande composée commande-composée (voir Composé Commandes
dessus). Cette commande est généralement un liste de commandes entre { et }, mais peut être n'importe quel
commande répertoriée sous Composé Commandes au dessus. commande-composée est exécuté
chaque fois que prénom est spécifié comme le nom d'une commande simple. Quand à posix mode,
prénom peut ne pas être le nom de l'un des POSIX spécial intégrés. Toute redirection
(voir REDIRECTION ci-dessous) spécifiés lorsqu'une fonction est définie sont exécutés lorsque le
la fonction est exécutée. L'état de sortie d'une définition de fonction est zéro à moins qu'un
une erreur de syntaxe se produit ou une fonction en lecture seule avec le même nom existe déjà. Lorsque
exécutée, l'état de sortie d'une fonction est l'état de sortie de la dernière commande
exécuté dans le corps. (Voir FONCTIONS au dessous de.)

COMMENTAIRES


Dans un shell non interactif, ou un shell interactif dans lequel le commentaires_interactifs
option à la magasiner intégré est activé (voir SHELL BÂTI COMMANDES ci-dessous), un mot
commençant par # ce mot et tous les caractères restants sur cette ligne sont ignorés.
Un shell interactif sans le commentaires_interactifs l'option activée ne permet pas
commentaires. le commentaires_interactifs L'option est activée par défaut dans les shells interactifs.

CITATION


Citant est utilisé pour supprimer la signification spéciale de certains caractères ou mots dans le shell.
Les guillemets peuvent être utilisés pour désactiver le traitement spécial des caractères spéciaux, pour empêcher
mots réservés d'être reconnus comme tels, et d'empêcher l'expansion des paramètres.

Chacun de la métacaractères énumérés ci-dessus sous DÉFINITIONS a une signification particulière pour la coquille
et doit être cité pour se représenter.

Lorsque les fonctions d'extension de l'historique des commandes sont utilisées (voir HISTOIRE EXPANSION
sous le Histoire avec des données caractère, généralement !, doit être cité pour empêcher l'histoire
vous propose d’explorer.

Il existe trois mécanismes de cotation : le échapper caractère, guillemets simples et doubles
citations.

Une barre oblique inverse (\) Est la échapper caractère. Il préserve la valeur littérale du
caractère suivant qui suit, à l'exception de . Si un \paire
apparaît, et la barre oblique inverse n'est pas elle-même citée, le \est traité comme une ligne
continuation (c'est-à-dire qu'il est supprimé du flux d'entrée et effectivement ignoré).

L'inclusion de caractères entre guillemets simples préserve la valeur littérale de chaque caractère à l'intérieur
les citations. Un guillemet simple ne peut pas apparaître entre des guillemets simples, même lorsqu'il est précédé d'un
barre oblique inverse.

L'inclusion de caractères entre guillemets préserve la valeur littérale de tous les caractères à l'intérieur
les citations, à l'exception de $, `, \, et, lorsque l'extension de l'historique est activée, !L’
caractères $ ainsi que ` conservent leur signification particulière entre guillemets doubles. La barre oblique inverse
conserve sa signification particulière uniquement lorsqu'il est suivi de l'un des caractères suivants : $, `,
", \ou . Un guillemet double peut être placé entre guillemets doubles en le précédant
avec une barre oblique inverse. Si activé, l'expansion de l'historique sera effectuée à moins qu'un ! apparaissant
entre guillemets doubles est échappé à l'aide d'une barre oblique inverse. La barre oblique inverse précédant le ! n'est pas
enlevé.

Les paramètres spéciaux * ainsi que @ ont une signification particulière lorsqu'ils sont entre guillemets (voir PARAMETRES
ci-dessous).

Les mots de la forme $'un magnifique' sont traités spécialement. Le mot s'étend à un magnifique, avec
caractères d'échappement avec barre oblique inverse remplacés comme spécifié par la norme ANSI C. barre oblique inverse
les séquences d'échappement, si présentes, sont décodées comme suit :
\a alerte (cloche)
\b backspace
\e
\E un caractère d'échappement
\f flux de formulaire
\n nouvelle ligne
\r retour chariot
\t onglet horizontal
\v onglet vertical
\\ barre oblique inverse
\' simple citation
\" double citation
\nnn le caractère de huit bits dont la valeur est la valeur octale nnn (un à trois
chiffres)
\xHH le caractère de huit bits dont la valeur est la valeur hexadécimale HH (un ou deux
chiffres hexadécimaux)
\uHhhh le caractère Unicode (ISO/IEC 10646) dont la valeur est la valeur hexadécimale
Hhhh (un à quatre chiffres hexadécimaux)
\UHHHHHHHH
le caractère Unicode (ISO/IEC 10646) dont la valeur est la valeur hexadécimale
HHHHHHHH (un à huit chiffres hexadécimaux)
\cx un contrôle-x caractère

Le résultat développé est entre guillemets simples, comme si le signe dollar n'avait pas été présent.

Une chaîne entre guillemets précédée d'un signe dollar ($"un magnifique") fera que la chaîne sera
traduit selon les paramètres régionaux actuels. Si la locale actuelle est C or POSIX,
le signe dollar est ignoré. Si la chaîne est traduite et remplacée, le remplacement est
entre guillemets.

PARAMETRES


A paramètre est une entité qui stocke des valeurs. Cela peut être un prénom, un numéro ou l'un des
caractères spéciaux répertoriés ci-dessous sous # Paramètres. A variable est un paramètre
désigné par un prénom. Une variable a un Plus-value et zéro ou plus attributs. Les attributs sont
attribué à l'aide du déclarer commande intégrée (voir déclarer ci-dessous dans SHELL BÂTI COMMANDES).

Un paramètre est défini s'il a reçu une valeur. La chaîne nulle est une valeur valide.
Une fois qu'une variable est définie, elle ne peut être désactivée qu'en utilisant le unset commande intégrée (voir SHELL
BÂTI COMMANDES ci-dessous).

A variable peut être cédée par une déclaration de la forme

prénom=[Plus-value]

If Plus-value n'est pas donné, la variable reçoit la chaîne nulle. Tout valeurs subir le tilde
expansion, expansion de paramètres et de variables, substitution de commandes, expansion arithmétique,
et suppression de devis (voir EXPANSION au dessous de). Si la variable a son entier ensemble d'attributs,
puis Plus-value est évalué comme une expression arithmétique même si le développement $((...)) n'est pas
utilisé (voir Arithmétique Expansion au dessous de). Le fractionnement des mots n'est pas effectué, avec le
sauf "$@" comme expliqué ci-dessous sous # Paramètres. L'expansion du nom de chemin n'est pas
effectué. Les déclarations d'affectation peuvent également apparaître comme des arguments alias, déclarer,
composer, Exporter, lecture seulementet locales commandes intégrées. Quand à posix mode, ces fonctions intégrées
peut apparaître dans une commande après une ou plusieurs instances du commander intégré et conserver
ces propriétés d'instruction d'affectation.

Dans le contexte où une instruction d'affectation affecte une valeur à une variable shell ou
index de tableau, l'opérateur += peut être utilisé pour ajouter ou ajouter au précédent de la variable
valeur. Lorsque += est appliqué à une variable pour laquelle le entier l'attribut a été défini,
Plus-value est évalué comme une expression arithmétique et ajouté à la valeur actuelle de la variable,
qui est également évalué. Lorsque += est appliqué à une variable de tableau à l'aide d'un composé
affectation (voir Arrays ci-dessous), la valeur de la variable n'est pas désactivée (comme c'est le cas lors de l'utilisation de =),
et de nouvelles valeurs sont ajoutées au tableau en commençant à un supérieur au maximum du tableau
index (pour les tableaux indexés) ou ajoutés en tant que paires clé-valeur supplémentaires dans un tableau associatif.
Lorsqu'il est appliqué à une variable à valeur de chaîne, Plus-value est développé et ajouté à la variable
valeur.

Une variable peut être affectée au nomref attribut en utilisant le -n option à la déclarer or
locales commandes intégrées (voir les descriptions de déclarer ainsi que locales ci-dessous) pour créer un
nomref, ou une référence à une autre variable. Cela permet de manipuler les variables
indirectement. Chaque fois que la variable nameref est référencée ou affectée, l'opération est
réellement effectué sur la variable spécifiée par la valeur de la variable nameref. Une référence de nom
est couramment utilisé dans les fonctions shell pour faire référence à une variable dont le nom est passé en tant que
argument de la fonction. Par exemple, si un nom de variable est passé à une fonction shell
comme premier argument, exécutant
déclarer -n ref=$1
à l'intérieur de la fonction crée une variable nameref ref dont la valeur est le nom de la variable passé
comme premier argument. Références et affectations à ref sont traités comme des références et
affectations à la variable dont le nom a été passé comme $1. Si la variable de contrôle dans un en
boucle a l'attribut nameref, la liste de mots peut être une liste de variables shell, et un
une référence de nom sera établie pour chaque mot de la liste, à son tour, lorsque la boucle est
réalisé. Les variables de tableau ne peuvent pas recevoir le -n attribut. Cependant, les variables nameref
peut référencer des variables de tableau et des variables de tableau indicées. Les références de nom peuvent être désactivées
utilisant l' -n option à la unset intégré. Sinon, si unset est exécuté avec le nom
d'une variable nameref en argument, la variable référencée par la variable nameref sera
être désarmé.

Positionnel Paramètres
A positionnel paramètre est un paramètre désigné par un ou plusieurs chiffres, autre que le seul
chiffre 0. Les paramètres de position sont affectés à partir des arguments du shell lorsqu'il est
invoqué, et peut être réaffecté à l'aide du set commande intégrée. Les paramètres de position peuvent
ne pas être affecté avec des instructions d'affectation. Les paramètres de position sont temporairement
remplacé lorsqu'une fonction shell est exécutée (voir FONCTIONS ci-dessous).

Lorsqu'un paramètre de position composé de plus d'un chiffre est développé, il doit être
entouré d'accolades (voir EXPANSION ci-dessous).

# Paramètres
Le shell traite spécialement plusieurs paramètres. Ces paramètres ne peuvent être que référencés ;
leur affectation n'est pas autorisée.
* S'étend aux paramètres de position, à partir de un. Lorsque l'expansion n'est pas
entre guillemets doubles, chaque paramètre de position se développe en un mot distinct. Dans
contextes où il est exécuté, ces mots sont soumis à un fractionnement supplémentaire des mots
et l'extension du chemin d'accès. Lorsque le développement se produit entre guillemets doubles, il se développe
à un seul mot avec la valeur de chaque paramètre séparée par le premier caractère
des IFS variable spéciale. C'est-à-dire, "$*" est équivalent à "$1c$2c ", où c
est le premier caractère de la valeur du IFS variable. Si IFS est désactivé, le
les paramètres sont séparés par des espaces. Si IFS est nul, les paramètres sont joints
sans séparateurs intermédiaires.
@ S'étend aux paramètres de position, à partir de un. Lorsque l'expansion se produit
entre guillemets doubles, chaque paramètre se développe en un mot distinct. C'est-à-dire, "$@" est
équivalent à "$1""$2" ... Si le développement entre guillemets se produit dans un mot,
l'expansion du premier paramètre est jointe à la partie de début du
mot d'origine, et l'expansion du dernier paramètre est jointe à la dernière partie
du mot originel. Lorsqu'il n'y a pas de paramètres de position, "$@"Et $@ expand
à rien (c'est-à-dire qu'ils sont supprimés).
# S'étend au nombre de paramètres de position en décimal.
? Développe jusqu'à l'état de sortie du pipeline de premier plan exécuté le plus récemment.
- S'étend aux drapeaux d'option actuels comme spécifié lors de l'appel, par le set
commande intégrée, ou celles définies par le shell lui-même (comme la commande -i option).
$ Se développe jusqu'à l'ID de processus du shell. Dans un sous-shell (), il s'étend au
ID de processus du shell actuel, pas du sous-shell.
! S'étend à l'ID de processus du travail le plus récemment placé en arrière-plan,
qu'elle soit exécutée en tant que commande asynchrone ou en utilisant le bg intégré (voir JOB
CONTRÔLE ci-dessous).
0 Se développe jusqu'au nom du shell ou du script shell. Ceci est réglé sur shell
initialisation. Si bash est invoqué avec un fichier de commandes, $0 est défini sur le nom
de ce fichier. Si bash est démarré avec le -c option, alors $0 est réglé sur le premier
argument après la chaîne à exécuter, s'il y en a une. Sinon, c'est réglé
au nom de fichier utilisé pour invoquer bash, comme donné par l'argument zéro.
_ Au démarrage du shell, définissez le chemin d'accès absolu utilisé pour appeler le shell ou le shell
script en cours d'exécution tel qu'il est passé dans l'environnement ou la liste d'arguments. Ensuite,
se développe jusqu'au dernier argument de la commande précédente, après le développement. Également réglé sur
le chemin complet utilisé pour appeler chaque commande exécutée et placée dans le
environnement exporté vers cette commande. Lors de la vérification du courrier, ce paramètre détient le
nom du fichier courrier en cours de vérification.

coquillage Variables
Les variables suivantes sont définies par le shell :

FRAPPER Se développe jusqu'au nom de fichier complet utilisé pour appeler cette instance de bash.
BACHETS
Une liste séparée par des deux-points des options de shell activées. Chaque mot de la liste est un mot valide
argument pour le -s option à la magasiner commande intégrée (voir SHELL BÂTI COMMANDES
au dessous de). Les options apparaissant dans BACHETS sont ceux signalés comme on by magasiner. Si
cette variable est dans l'environnement lorsque bash démarre, chaque option du shell dans le
list sera activée avant de lire les fichiers de démarrage. Cette variable est en lecture seule.
BASHPID
S'étend à l'ID de processus du courant bash traiter. Cela diffère de $$ sous
certaines circonstances, telles que les sous-shells qui ne nécessitent pas bash être ré-
initialisé.
BASH_ALIASE
Une variable tableau associatif dont les membres correspondent à la liste interne des
alias tels que maintenus par le alias intégré. Les éléments ajoutés à ce tableau apparaissent dans
la liste des alias ; la suppression des éléments du tableau entraîne la suppression des alias de l'alias
liste.
BASH_ARGC
Une variable de tableau dont les valeurs sont le nombre de paramètres dans chaque trame du
actuel bash pile d'appels d'exécution. Le nombre de paramètres au courant
sous-routine (fonction shell ou script exécuté avec . or la source) est au sommet de
la pile. Lorsqu'un sous-programme est exécuté, le nombre de paramètres passés est
poussé sur BASH_ARGC. Les ensembles de coquilles BASH_ARGC uniquement en cas de débogage étendu
mode (voir la description du extdebug option à la magasiner intégré ci-dessous)
BASH_ARGV
Une variable de tableau contenant tous les paramètres dans le courant bash exécution
pile d'appels. Le dernier paramètre du dernier appel de sous-programme se trouve en haut de la
empiler; le premier paramètre de l'appel initial est en bas. Lorsqu'un sous-programme
est exécuté, les paramètres fournis sont poussés sur BASH_ARGV. Les ensembles de coquilles
BASH_ARGV uniquement en mode de débogage étendu (voir la description du extdebug
option à la magasiner intégré ci-dessous)
BASH_CMDS
Une variable de tableau associatif dont les membres correspondent à la table de hachage interne
des commandes telles qu'elles sont maintenues par le hachage intégré. Les éléments ajoutés à ce tableau apparaissent
dans la table de hachage ; la suppression des éléments du tableau entraîne la suppression des commandes du
table de hachage.
BASH_COMMAND
La commande en cours d'exécution ou sur le point d'être exécutée, sauf si le shell est
exécuter une commande à la suite d'une interruption, auquel cas il s'agit de la commande
s'exécutant au moment du piège.
BASH_EXECUTION_STRING
L'argument de commande du -c possibilité d'appel.
BASH_LINENON
Une variable de tableau dont les membres sont les numéros de ligne dans les fichiers source où chaque
membre correspondant de NOM DE FONCTION a été invoqué. ${BASH_LINENO[$i]} est la ligne
numéro dans le fichier source (${BASH_SOURCE[$i+1]}) où ${NOMFUNC[$i]} a été appelé
(ou ${BASH_LINENO[$i-1]} si référencé dans une autre fonction shell). Utilisation LINNO
pour obtenir le numéro de ligne actuel.
BASH_REMATCH
Une variable de tableau dont les membres sont affectés par le =~ opérateur binaire au [[
commande conditionnelle. L'élément d'indice 0 est la partie de la chaîne
correspondant à l'intégralité de l'expression régulière. L'élément avec index n est la partie de
la chaîne correspondant au ne sous-expression entre parenthèses. Cette variable est lue-
seulement.
BASH_SOURCE
Une variable de tableau dont les membres sont les noms de fichiers source où le correspondant
noms de fonction shell dans le NOM DE FONCTION variable de tableau sont définis. La coquille
fonction ${NOMFUNC[$i]} est défini dans le fichier ${BASH_SOURCE[$i]} et appelé de
${BASH_SOURCE[$i+1]}.
BASH_SUBSHELL
Incrémenté de un dans chaque sous-shell ou environnement de sous-shell lorsque le shell
commence à s'exécuter dans cet environnement. La valeur initiale est 0.
BASH_VERSINFO
Une variable de tableau en lecture seule dont les membres contiennent les informations de version pour cette instance
of bash. Les valeurs affectées aux membres du tableau sont les suivantes :
BASH_VERSINFO[0] Le numéro de version principal (le libérer).
BASH_VERSINFO[1] Le numéro de version mineure (le version).
BASH_VERSINFO[2] Le niveau de patch.
BASH_VERSINFO[3] La version de construction.
BASH_VERSINFO[4] L'état de la version (par exemple, beta1).
BASH_VERSINFO[5] La valeur de TYPE DE MACHINE.
BASH_VERSION
Se développe en une chaîne décrivant la version de cette instance de bash.
COMP_CWORD
Un indice en ${COMP_WORDS} du mot contenant la position actuelle du curseur.
Cette variable n'est disponible que dans les fonctions shell invoquées par le
installations d'achèvement (voir Programmable Aboutissement ci-dessous).
COMP_KEY
La touche (ou la touche finale d'une séquence de touches) utilisée pour invoquer la complétion actuelle
la fonction.
COMP_LINE
La ligne de commande actuelle. Cette variable n'est disponible que dans les fonctions shell et
commandes externes invoquées par les fonctions de complétion programmables (voir
Programmable Aboutissement ci-dessous).
COMP_POINT
L'index de la position actuelle du curseur par rapport au début de la
commander. Si la position actuelle du curseur est à la fin de la commande en cours, le
la valeur de cette variable est égale à ${#COMP_LINE}. Cette variable est disponible uniquement
dans les fonctions shell et les commandes externes invoquées par la complétion programmable
installations (voir Programmable Aboutissement ci-dessous).
COMP_TYPE
Définie sur une valeur entière correspondant au type de complétion tentée qui
a provoqué l'appel d'une fonction d'achèvement : TAB, pour un achèvement normal, ?, Pour
lister les complétions après des tabulations successives, !, pour lister des alternatives sur
complétion de mots, @, pour lister les complètements si le mot n'est pas inchangé, ou %, Pour
l'achèvement du menu. Cette variable n'est disponible que dans les fonctions shell et externes
commandes invoquées par les fonctions de complétion programmables (voir Programmable
Aboutissement ci-dessous).
COMP_WORDBREAKS
L'ensemble de caractères que le readline la bibliothèque traite comme des séparateurs de mots lorsque
effectuer la complétion de mots. Si COMP_WORDBREAKS est désarmé, il perd sa particularité
propriétés, même s'il est réinitialisé par la suite.
COMP_MOTS
Une variable tableau (voir Arrays ci-dessous) composé des mots individuels dans le
ligne de commande actuelle. La ligne est divisée en mots comme readline le diviserait,
en utilisant COMP_WORDBREAKS comme décrit ci-dessus. Cette variable n'est disponible que dans le shell
fonctions invoquées par les fonctions de complétion programmables (voir Programmable
Aboutissement ci-dessous).
COPROC Une variable tableau (voir Arrays ci-dessous) créé pour contenir les descripteurs de fichier pour
sortie et entrée vers un coprocessus sans nom (voir Coprocessus au dessus de).
CHEMINÉE
Une variable tableau (voir Arrays ci-dessous) contenant le contenu actuel du
pile de répertoires. Les répertoires apparaissent dans la pile dans l'ordre dans lequel ils sont affichés
par The dirs intégré. L'affectation aux membres de cette variable de tableau peut être utilisée pour
modifier les répertoires déjà dans la pile, mais le pushd ainsi que popd les commandes intégrées doivent être
utilisé pour ajouter et supprimer des répertoires. L'affectation à cette variable ne changera pas
le répertoire courant. Si CHEMINÉE est désarmé, il perd ses propriétés particulières, même
s'il est réinitialisé par la suite.
IDEU Se développe jusqu'à l'ID utilisateur effectif de l'utilisateur actuel, initialisé au démarrage du shell.
Cette variable est en lecture seule.
NOM DE FONCTION
Une variable de tableau contenant les noms de toutes les fonctions shell actuellement dans le
pile d'appels d'exécution. L'élément avec l'index 0 est le nom de n'importe quel
l'exécution de la fonction shell. L'élément le plus bas (celui avec l'indice le plus élevé)
est "principal". Cette variable n'existe que lorsqu'une fonction shell est en cours d'exécution.
Affectations à NOM DE FONCTION n'ont aucun effet et renvoient un état d'erreur. Si NOM DE FONCTION is
désactivé, il perd ses propriétés spéciales, même s'il est réinitialisé par la suite.

Cette variable peut être utilisée avec BASH_LINENON ainsi que BASH_SOURCE. Chaque élément de
NOM DE FONCTION a des éléments correspondants dans BASH_LINENON ainsi que BASH_SOURCE pour décrire le
pile d'appels. Par exemple, ${NOMFUNC[$i]} a été appelé à partir du fichier
${BASH_SOURCE[$i+1]} au numéro de ligne ${BASH_LINENO[$i]}L’ votre interlocuteur builtin
affiche la pile d'appels actuelle à l'aide de ces informations.
GROUPES Une variable tableau contenant la liste des groupes dont l'utilisateur courant est un
membre. Affectations à GROUPES n'ont aucun effet et renvoient un état d'erreur. Si
GROUPES est désactivé, il perd ses propriétés spéciales, même s'il est réinitialisé par la suite.
HISTMCMD
Le numéro d'historique, ou index dans la liste d'historique, de la commande en cours. Si
HISTMCMD est désarmé, il perd ses propriétés particulières, même s'il est par la suite
réinitialiser.
HOSTNAME
Défini automatiquement sur le nom de l'hôte actuel.
TYPE D'HTE
Définie automatiquement sur une chaîne qui décrit de manière unique le type de machine sur laquelle
bash s'exécute. La valeur par défaut dépend du système.
LINNO A chaque fois que ce paramètre est référencé, le shell substitue un nombre décimal
représentant le numéro de ligne séquentiel actuel (commençant par 1) dans un script
ou fonction. Lorsqu'elle n'est pas dans un script ou une fonction, la valeur substituée n'est pas
garanti d'être significatif. Si LINNO est désarmé, il perd ses propriétés particulières,
même s'il est réinitialisé par la suite.
TYPE DE MACHINE
Définie automatiquement sur une chaîne qui décrit complètement le type de système sur lequel bash is
l'exécution, dans le GNU standard cpu-entreprise-système format. La valeur par défaut est système-
dépendant.
FICHIER CARTE
Une variable tableau (voir Arrays ci-dessous) créé pour contenir le texte lu par le fichier de carte
intégré lorsqu'aucun nom de variable n'est fourni.
ANCIENWD Le répertoire de travail précédent tel que défini par le cd commander.
OPTARG La valeur du dernier argument d'option traité par le getops commande intégrée (voir
SHELL BÂTI COMMANDES ci-dessous).
OPTINDRE L'index du prochain argument à traiter par le getops commande intégrée (voir
SHELL BÂTI COMMANDES ci-dessous).
OSTYPE Définie automatiquement sur une chaîne qui décrit le système d'exploitation sur lequel bash is
exécution. La valeur par défaut dépend du système.
ÉTAT DE LA TUYAUTERIE
Une variable tableau (voir Arrays ci-dessous) contenant une liste de valeurs d'état de sortie de
les processus dans le pipeline de premier plan le plus récemment exécuté (qui peut contenir
une seule commande).
PPID L'ID de processus du parent du shell. Cette variable est en lecture seule.
PWD Le répertoire de travail actuel tel que défini par le cd commander.
RANDOM A chaque référencement de ce paramètre, un entier aléatoire compris entre 0 et 32767 est
généré. La séquence de nombres aléatoires peut être initialisée en attribuant une valeur
à RANDOM. Si RANDOM est désarmé, il perd ses propriétés particulières, même s'il est
réinitialisé par la suite.
READLINE_LINE
Le contenu de la readline tampon de ligne, à utiliser avec "bind -x" (voir SHELL BÂTI
COMMANDES ci-dessous).
READLINE_POINT
La position du point d'insertion dans le readline tampon de ligne, à utiliser avec "bind
-x" (voir SHELL BÂTI COMMANDES ci-dessous).
RÉPONDRE Réglé sur la ligne d'entrée lue par le lire commande intégrée lorsqu'aucun argument n'est
fourni.
SECONDS
Chaque fois que ce paramètre est référencé, le nombre de secondes écoulées depuis le shell
l'appel est renvoyé. Si une valeur est attribuée à SECONDS, la valeur renvoyée le
références suivantes est le nombre de secondes depuis l'affectation plus la valeur
attribué. Si SECONDS est désarmé, il perd ses propriétés particulières, même s'il est
réinitialisé par la suite.
COQUILLAGES
Une liste séparée par des deux-points des options de shell activées. Chaque mot de la liste est un mot valide
argument pour le -o option à la set commande intégrée (voir SHELL BÂTI COMMANDES
au dessous de). Les options apparaissant dans COQUILLAGES sont ceux signalés comme on by set -o. Si
cette variable est dans l'environnement lorsque bash démarre, chaque option du shell dans le
list sera activée avant de lire les fichiers de démarrage. Cette variable est en lecture seule.
SHLVL Incrémenté de un à chaque fois qu'une instance de bash a démarré.
UID Se développe jusqu'à l'ID utilisateur de l'utilisateur actuel, initialisé au démarrage du shell. Cette
variable est en lecture seule.

Les variables suivantes sont utilisées par le shell. Dans certains cas, bash attribue une valeur par défaut
valeur à une variable ; ces cas sont notés ci-dessous.

BASH_COMPAT
La valeur est utilisée pour définir le niveau de compatibilité du shell. Voir la description de
le magasiner intégré ci-dessous sous SHELL BÂTI COMMANDES pour une description de la
différents niveaux de compatibilité et leurs effets. La valeur peut être un nombre décimal
(par exemple, 4.2) ou un entier (par exemple, 42) correspondant à la compatibilité souhaitée
niveau. Si BASH_COMPAT n'est pas défini ou défini sur la chaîne vide, le niveau de compatibilité
est défini sur la valeur par défaut pour la version actuelle. Si BASH_COMPAT est fixé à une valeur
qui ne fait pas partie des niveaux de compatibilité valides, le shell affiche une erreur
message et définit le niveau de compatibilité par défaut pour la version actuelle.
Les niveaux de compatibilité valides correspondent aux options de compatibilité acceptées par
le magasiner intégré décrit ci-dessous (par exemple, compatible42 signifie que 4.2 et 42 sont
valeurs valides). La version actuelle est également une valeur valide.
BASH_ENV
Si ce paramètre est défini lorsque bash exécute un script shell, sa valeur est
interprété comme un nom de fichier contenant des commandes pour initialiser le shell, comme dans
~ / .bashrc. La valeur de BASH_ENV est soumis à l'expansion des paramètres, la commande
substitution et développement arithmétique avant d'être interprété comme un nom de fichier.
PATH n'est pas utilisé pour rechercher le nom de fichier résultant.
BASH_XTRACEFD
S'il est défini sur un entier correspondant à un descripteur de fichier valide, bash écrira le
sortie de trace générée lorsque set -x est activé pour ce descripteur de fichier. Le fichier
le descripteur est fermé lorsque BASH_XTRACEFD est désactivé ou une nouvelle valeur est affectée.
Désarmer BASH_XTRACEFD ou en lui attribuant la chaîne vide, la sortie de trace
être envoyé à l'erreur standard. Notez que le réglage BASH_XTRACEFD à 2 (la norme
descripteur de fichier d'erreur), puis sa désactivation entraînera l'erreur standard
étant fermé.
CDPATH Le chemin de recherche du cd commander. Ceci est une liste de répertoires séparés par des deux-points
dans lequel le shell recherche les répertoires de destination spécifiés par le cd commander.
Un exemple de valeur est ".:~:/ usr".
ENFANT_MAX
Définissez le nombre de valeurs d'état enfant sorties que le shell doit mémoriser. Bash va
ne permet pas à cette valeur d'être diminuée en dessous d'un minimum imposé par POSIX, et il y a un
valeur maximale (actuellement 8192) que celle-ci ne doit pas dépasser. La valeur minimale est
dépendant du système.
COLONNES
Utilisé par le Sélectionner commande composée pour déterminer la largeur du terminal lors de l'impression
listes de sélection. Définir automatiquement si le vérifier la taille l'option est activée ou dans un
shell interactif à la réception d'un SIGNALISATION.
COMPRENDRE
Une variable de tableau à partir de laquelle bash lit les complétions possibles générées par un
fonction shell invoquée par la fonction de complétion programmable (voir Programmable
Aboutissement au dessous de). Chaque élément du tableau contient une complétion possible.
EMAC If bash trouve cette variable dans l'environnement lorsque le shell démarre avec value
"t", cela suppose que le shell s'exécute dans un tampon shell Emacs et désactive
édition de ligne.
ENV Similaire à BASH_ENV; utilisé lorsque le shell est invoqué en mode POSIX.
FCEDIT L'éditeur par défaut pour le fc commande intégrée.
FIGURER
Une liste de suffixes séparés par des deux-points à ignorer lors de la complétion du nom de fichier
(voir LIRE LA LIGNE au dessous de). Un nom de fichier dont le suffixe correspond à l'une des entrées de
FIGURER est exclu de la liste des noms de fichiers correspondants. Un exemple de valeur est ".o:~"
(Les guillemets sont nécessaires lors de l'attribution d'une valeur à cette variable, qui contient des tildes).
FUNCNEST
S'il est défini sur une valeur numérique supérieure à 0, définit un niveau d'imbrication de fonction maximum.
Les appels de fonction qui dépassent ce niveau d'imbrication entraîneront la commande actuelle
avorter.
GLOBIGNORE
Une liste de modèles séparés par des deux-points définissant l'ensemble des noms de fichiers à ignorer par
extension du nom de chemin. Si un nom de fichier correspond également à un modèle d'extension de chemin d'accès
correspond à l'un des modèles de GLOBIGNORE, il est supprimé de la liste des correspondances.
CONTRÔLEHIST
Une liste de valeurs séparées par des deux-points contrôlant la façon dont les commandes sont enregistrées dans l'historique
liste. Si la liste de valeurs comprend espace d'ignorance, les lignes commençant par un espace
caractère ne sont pas enregistrés dans la liste de l'historique. Une valeur de ignorés provoque des lignes
correspondant à l'entrée d'historique précédente pour ne pas être enregistré. Une valeur de ignorer les deux is
raccourci pour espace d'ignorance ainsi que ignorés. Une valeur de effacements provoque tous les précédents
lignes correspondant à la ligne actuelle à supprimer de la liste d'historique avant cela
la ligne est enregistrée. Toute valeur ne figurant pas dans la liste ci-dessus est ignorée. Si CONTRÔLEHIST is
non défini, ou n'inclut pas de valeur valide, toutes les lignes lues par l'analyseur shell sont
enregistré dans l'historique, sous réserve de la valeur de HISTIGNORE. Le deuxième et
les lignes suivantes d'une commande composée multiligne ne sont pas testées et sont ajoutées à
l'histoire quelle que soit la valeur de CONTRÔLEHIST.
FICHIER HIST
Le nom du fichier dans lequel l'historique des commandes est enregistré (voir HISTOIRE au dessous de). Les
la valeur par défaut est ~ / .bash_history. S'il n'est pas défini, l'historique des commandes n'est pas enregistré lorsque
une coquille sort.
TAILLE FICHIER HIST
Le nombre maximum de lignes contenues dans le fichier historique. Lorsque cette variable est
affecté une valeur, le fichier historique est tronqué, si nécessaire, pour ne plus contenir
que ce nombre de lignes en supprimant les entrées les plus anciennes. Le fichier historique est également
tronqué à cette taille après l'avoir écrit à la sortie d'un shell. Si la valeur est 0, le
le fichier d'historique est tronqué à une taille nulle. Valeurs non numériques et valeurs numériques moins
que zéro inhibe la troncature. Le shell définit la valeur par défaut sur la valeur de
TAILLE HIST après avoir lu les fichiers de démarrage.
HISTIGNORE
Une liste de modèles séparés par des deux-points utilisés pour décider quelles lignes de commande doivent être
enregistré dans la liste d'historique. Chaque motif est ancré au début de la ligne
et doit correspondre à la ligne complète (pas de ` implicite*' est annexé). Chaque motif est
testé par rapport à la ligne après les vérifications spécifiées par CONTRÔLEHIST sont appliqués. Dans
en plus des caractères de correspondance de modèle de shell normaux, `&' correspond au précédent
ligne d'histoire. `&' peut être échappé à l'aide d'une barre oblique inverse ; la barre oblique inverse est supprimée
avant de tenter un match. La deuxième ligne et les suivantes d'une multiligne
Les commandes composées ne sont pas testées et sont ajoutées à l'historique quel que soit le
valeur de HISTIGNORE.
TAILLE HIST
Le nombre de commandes à retenir dans l'historique des commandes (voir HISTOIRE au dessous de). Si
la valeur est 0, les commandes ne sont pas enregistrées dans l'historique. Valeurs numériques moins
que zéro, chaque commande est enregistrée dans la liste d'historique (il n'y a pas
limite). Le shell définit la valeur par défaut sur 500 après avoir lu les fichiers de démarrage.
FORMAT HEURE HIST
Si cette variable est définie et non nulle, sa valeur est utilisée comme chaîne de format pour
strftime(3) pour imprimer l'horodatage associé à chaque entrée d'historique affichée par
le Histoire intégré. Si cette variable est définie, les horodatages sont écrits dans le
history afin qu'ils puissent être conservés d'une session shell à l'autre. Cela utilise l'historique
caractère de commentaire pour distinguer les horodatages des autres lignes de l'historique.
ACCUEIL Le répertoire personnel de l'utilisateur actuel ; l'argument par défaut pour le cd builtin
commander. La valeur de cette variable est également utilisée lors de l'expansion du tilde.
FICHIER HÔTE
Contient le nom d'un fichier au même format que / Etc / hosts ça devrait être lu
lorsque le shell doit compléter un nom d'hôte. La liste des noms d'hôtes possibles
les complétions peuvent être modifiées pendant l'exécution du shell ; la prochaine fois nom d'hôte
l'achèvement est tenté après la modification de la valeur, bash ajoute le contenu du
nouveau fichier à la liste existante. Si FICHIER HÔTE est défini, mais n'a pas de valeur, ou ne
nommer un fichier lisible, bash essaie de lire / Etc / hosts pour obtenir la liste des
complétions possibles du nom d'hôte. Lorsque FICHIER HÔTE n'est pas défini, la liste des noms d'hôte est
effacé.
IFS La Interne Champ Séparateur qui est utilisé pour le fractionnement des mots après expansion et pour
diviser les lignes en mots avec le lire commande intégrée. La valeur par défaut est
`` ''.
Ignorer
Contrôle l'action d'un shell interactif à la réception d'un EOF personnage comme le
seule entrée. S'il est défini, la valeur est le nombre de EOF des personnages qui
doit être tapé comme premiers caractères sur une ligne de saisie avant bash sorties. Si la
la variable existe mais n'a pas de valeur numérique, ou n'a pas de valeur, la valeur par défaut
la valeur est 10. S'il n'existe pas, EOF signifie la fin de la saisie dans le shell.
ENTRÉE
Le nom de fichier du readline fichier de démarrage, remplaçant la valeur par défaut de ~ / .inputrc
(voir LIRE LA LIGNE ci-dessous).
LANGUE Utilisé pour déterminer la catégorie de paramètres régionaux pour toute catégorie non spécifiquement sélectionnée
avec une variable commençant par CL_.
LC_TOUS Cette variable remplace la valeur de LANGUE et tout autre CL_ variable spécifiant un
catégorie locale.
LC_COLLER
Cette variable détermine l'ordre de classement utilisé lors du tri des résultats de
l'expansion du nom de chemin et détermine le comportement des expressions de plage, l'équivalence
classes et assemblage de séquences dans l'expansion des noms de chemin et la correspondance de modèles.
LC_CTYPE
Cette variable détermine l'interprétation des caractères et le comportement des
classes de caractères dans l'expansion du nom de chemin et la correspondance de modèle.
LC_MESSAGES
Cette variable détermine la locale utilisée pour traduire les chaînes entre guillemets doubles
précédé d'un $.
LC_NUMERIC
Cette variable détermine la catégorie de paramètres régionaux utilisée pour le formatage des nombres.
LIGNES Utilisé par le Sélectionner commande composée pour déterminer la longueur de la colonne pour l'impression
listes de sélection. Définir automatiquement si le vérifier la taille l'option est activée ou dans un
shell interactif à la réception d'un SIGNALISATION.
MAIL Si ce paramètre est défini sur un nom de fichier ou de répertoire et que le CHEMIN DE COURRIER la variable est
pas encore défini, bash informe l'utilisateur de l'arrivée de courrier dans le fichier spécifié ou
Répertoire au format Maildir.
VÉRIFICATION DU COURRIER
Spécifie la fréquence (en secondes) bash vérifie le courrier. La valeur par défaut est de 60 secondes.
Lorsqu'il est temps de vérifier le courrier, le shell le fait avant d'afficher le
rapide. Si cette variable n'est pas définie ou définie sur une valeur qui n'est pas un nombre supérieur
supérieur ou égal à zéro, le shell désactive la vérification du courrier.
CHEMIN DE COURRIER
Une liste de noms de fichiers séparés par des deux-points à vérifier pour le courrier. Le message à être
imprimé lorsque le courrier arrive dans un fichier particulier peut être spécifié en séparant le
nom de fichier du message avec un `?'. Lorsqu'il est utilisé dans le texte du message, $_
se développe jusqu'au nom du fichier courrier courant. Exemple:
CHEMIN DE COURRIER='/var/mail/bfox?"Vous avez du courrier":~/shell-mail?"$_ a du courrier!"'
Frapper fournit une valeur par défaut pour cette variable, mais l'emplacement du courrier de l'utilisateur
fichiers qu'il utilise dépend du système (par exemple, /var/mail/$ USER).
OPTER Si défini sur la valeur 1, bash affiche les messages d'erreur générés par le getops
commande intégrée (voir SHELL BÂTI COMMANDES ci-dessous). OPTER est initialisé à 1
chaque fois que le shell est invoqué ou qu'un script shell est exécuté.
PATH Le chemin de recherche des commandes. Il s'agit d'une liste de répertoires séparés par des deux-points dans lesquels
le shell recherche des commandes (voir COMMAND EXÉCUTION au dessous de). Une longueur nulle (nulle)
nom du répertoire dans la valeur de PATH indique le répertoire courant. Un nul
le nom du répertoire peut apparaître sous la forme de deux deux points adjacents, ou sous la forme d'une initiale ou d'une fin
côlon. Le chemin par défaut dépend du système et est défini par l'administrateur qui
installe bash. Une valeur commune est ``/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/ bin:/ sbin''.
POSIXLY_CORRECT
Si cette variable est dans l'environnement lorsque bash démarre, le shell entre posix
mode avant de lire les fichiers de démarrage, comme si le --posix l'option d'invocation avait été
fourni. S'il est défini pendant l'exécution du shell, bash permet posix mode, comme si
la commande set -o posix avait été exécuté.
PROMPT_COMMAND
Si elle est définie, la valeur est exécutée en tant que commande avant d'émettre chaque invite principale.
PROMPT_DIRTRIM
S'il est défini sur un nombre supérieur à zéro, la valeur est utilisée comme nombre de
composants de répertoire à conserver lors de l'expansion du \w ainsi que \W chaîne d'invite s'échappe
(voir INVITATION au dessous de). Les caractères supprimés sont remplacés par des points de suspension.
PS1 La valeur de ce paramètre est étendue (voir INVITATION ci-dessous) et utilisé comme
chaîne d'invite principale. La valeur par défaut est ``\s-\v\$ ''.
PS2 La valeur de ce paramètre est étendue comme avec PS1 et utilisé comme secondaire
chaîne d'invite. La valeur par défaut est ``> ''.
PS3 La valeur de ce paramètre est utilisée comme invite pour le Sélectionner commande (voir SHELL
GRAMMAIRE au dessus de).
PS4 La valeur de ce paramètre est étendue comme avec PS1 et la valeur est imprimée avant
chaque commande bash s'affiche lors d'une trace d'exécution. Le premier personnage de PS4
est répliqué plusieurs fois, si nécessaire, pour indiquer plusieurs niveaux de
détournement. La valeur par défaut est ``+ ''.
SHELL Le chemin d'accès complet au shell est conservé dans cette variable d'environnement. Si ce n'est pas le cas
défini au démarrage du shell, bash lui attribue le chemin complet du chemin actuel
shell de connexion de l'utilisateur.
FORMAT DE L'HEURE
La valeur de ce paramètre est utilisée comme chaîne de format spécifiant comment le timing
informations sur les pipelines précédées du fiable mot réservé doit être affiché.
La % caractère introduit une séquence d'échappement qui est étendue à une valeur temporelle ou
les autres informations. Les séquences d'échappement et leurs significations sont les suivantes ; la
les accolades indiquent des portions facultatives.
%% Un littéral %.
%[p][g / D Le temps écoulé en secondes.
%[p][l]U Le nombre de secondes CPU passées en mode utilisateur.
%[p][l]S Le nombre de secondes CPU passées en mode système.
%P Le pourcentage de CPU, calculé comme (%U + %S) / %R.

Le facultatif p est un chiffre spécifiant le avec précision, le nombre de chiffres fractionnaires
après un point décimal. Une valeur de 0 n'entraîne aucun point décimal ou fraction à être
sortir. Un maximum de trois chiffres après la virgule peut être spécifié ; valeurs de p
supérieur à 3 sont remplacés par 3. Si p n'est pas spécifié, la valeur 3 est utilisée.

Le facultatif l spécifie un format plus long, y compris les minutes, de la forme MMmSS.FFs.
La valeur de p détermine si la fraction est incluse ou non.

Si cette variable n'est pas définie, bash agit comme si elle avait la valeur
$'\nréel\t%3lR\nuser\t%3lU\nsys\t%3lS'. Si la valeur est nulle, pas de timing
les informations s'affichent. Une nouvelle ligne de fin est ajoutée lorsque la chaîne de format est
affiché.
TMOUT S'il est défini sur une valeur supérieure à zéro, TMOUT est traité comme le délai d'expiration par défaut pour
le lire intégré. le Sélectionner la commande se termine si l'entrée n'arrive pas après
TMOUT secondes lorsque l'entrée provient d'un terminal. Dans un shell interactif, le
valeur est interprétée comme le nombre de secondes d'attente d'une ligne d'entrée après
émission de l'invite principale. Frapper se termine après avoir attendu ce nombre de
secondes si une ligne complète d'entrée n'arrive pas.
TMPDIR Si défini, bash utilise sa valeur comme nom d'un répertoire dans lequel bash crée des
fichiers temporaires à l'usage du shell.
CV_auto
Cette variable contrôle la manière dont le shell interagit avec l'utilisateur et le contrôle des tâches. Si
cette variable est définie, les commandes simples à mot unique sans redirection sont traitées
en tant que candidats à la reprise d'un travail déjà interrompu. Il n'y a pas d'ambiguïté
permis; s'il y a plus d'un travail commençant par la chaîne saisie, le travail
le dernier accès est sélectionné. le prénom d'un travail arrêté, dans ce contexte, est
la ligne de commande utilisée pour le démarrer. Si défini sur la valeur exacte, la chaîne fournie
doit correspondre exactement au nom d'un travail arrêté ; si réglé sur sous-chaîne, la chaîne
fourni doit correspondre à une sous-chaîne du nom d'un travail arrêté. le sous-chaîne
valeur fournit des fonctionnalités analogues à la %? identifiant de travail (voir JOB CONTRÔLE
au dessous de). S'il est défini sur une autre valeur, la chaîne fournie doit être un préfixe d'un
nom du travail arrêté ; cela fournit des fonctionnalités analogues à la %un magnifique JOB
identifiant.
histchars
Les deux ou trois caractères qui contrôlent l'expansion de l'historique et la tokenisation (voir
HISTOIRE EXPANSION au dessous de). Le premier caractère est le Histoire avec des données personnage,
le caractère qui signale le début d'une expansion de l'historique, normalement `!'. le
le deuxième caractère est le rapide substitution caractère, qui est utilisé comme raccourci
pour réexécuter la commande précédente entrée, en remplaçant une chaîne par une autre dans
la commande. La valeur par défaut est `^'. Le troisième caractère facultatif est le caractère
qui indique que le reste de la ligne est un commentaire lorsqu'il est trouvé comme premier
caractère d'un mot, normalement `#'. Le caractère de commentaire d'historique provoque l'historique
substitution à sauter pour les mots restants sur la ligne. Ce ne est pas
obligent nécessairement l'analyseur shell à traiter le reste de la ligne comme un commentaire.

Arrays
Frapper fournit des variables de tableau indexées et associatives unidimensionnelles. Toute variable peut
être utilisé comme un tableau indexé ; la déclarer Builtin déclarera explicitement un tableau. Là
n'y a pas de limite maximale sur la taille d'un tableau, ni aucune exigence que les membres soient indexés
ou attribués de manière contiguë. Les tableaux indexés sont référencés à l'aide d'entiers (y compris
expressions arithmétiques) et sont basées sur zéro ; les tableaux associatifs sont référencés à l'aide
chaînes arbitraires. Sauf indication contraire, les indices de tableau indexés doivent être non négatifs
entiers.

Un tableau indexé est créé automatiquement si une variable est affectée à l'aide de la syntaxe
prénom[indice]=Plus-valueL’ indice est traité comme une expression arithmétique qui doit
évaluer à un nombre. Pour déclarer explicitement un tableau indexé, utilisez déclarer -a prénom (voir
SHELL BÂTI COMMANDES ci-dessous). déclarer -a prénom[indice] est également accepté; la indice
est ignoré.

Les tableaux associatifs sont créés à l'aide de déclarer -A prénom.

Les attributs peuvent être spécifiés pour une variable de tableau en utilisant le déclarer ainsi que lecture seulement intégrés.
Chaque attribut s'applique à tous les membres d'un tableau.

Les tableaux sont affectés à l'aide d'affectations composées de la forme prénom=(Plus-value1 ... valeurn),
où chacun Plus-value est de la forme [indice]=un magnifique. Les affectations de tableaux indexés ne
exiger autre chose que un magnifique. Lors de l'affectation à des tableaux indexés, si les crochets facultatifs
et un indice sont fournis, cet index est affecté à ; sinon l'indice de l'élément
affecté est le dernier index affecté par l'instruction plus un. L'indexation commence à
zéro.

Lors de l'affectation à un tableau associatif, l'indice est requis.

Cette syntaxe est également acceptée par le déclarer intégré. Les éléments individuels du tableau peuvent être
affecté à l'utilisation du prénom[indice]=Plus-value syntaxe introduite ci-dessus. Lors de l'affectation à un
tableau indexé, si prénom est indicé par un nombre négatif, ce nombre est interprété comme
par rapport à un supérieur à l'indice maximum de prénom, donc les indices négatifs comptent à rebours
à partir de la fin du tableau, et un indice de -1 référence le dernier élément.

Tout élément d'un tableau peut être référencé en utilisant ${prénom[indice]}. Les accolades sont
requis pour éviter les conflits avec l'expansion du nom de chemin. Si indice is @ or *, le mot
s'étend à tous les membres de prénom. Ces indices ne diffèrent que lorsque le mot apparaît dans
double citation. Si le mot est entre guillemets, ${prénom[*]} se développe en un seul mot avec le
valeur de chaque membre du tableau séparée par le premier caractère du IFS variable spéciale,
et ${prénom[@]} développe chaque élément de prénom à un mot séparé. Quand il n'y a pas de tableau
membres, ${prénom[@]} se développe en rien. Si le développement entre guillemets se produit dans un
mot, l'expansion du premier paramètre est jointe à la partie de début du
mot d'origine, et l'expansion du dernier paramètre est jointe à la dernière partie du
mot d'origine. Ceci est analogue à l'expansion des paramètres spéciaux * ainsi que @ (voir
# Paramètres au dessus). ${#prénom[indice]} s'étend jusqu'à la longueur de
${prénom[indice]}. Si indice is * or @, le développement est le nombre d'éléments dans
le tableau. Référencer une variable tableau sans indice équivaut à référencer
le tableau avec un indice de 0. Si le indice utilisé pour référencer un élément d'un
le tableau indexé est évalué à un nombre inférieur à zéro, il est interprété comme relatif à un
supérieur à l'indice maximum du tableau, donc les indices négatifs comptent à rebours à partir de la fin
du tableau, et un indice de -1 référence le dernier élément.

Une variable de tableau est considérée comme définie si une valeur a été affectée à un indice. Le nul
chaîne est une valeur valide.

Il est possible d'obtenir les clés (indices) d'un tableau ainsi que les valeurs.
${!prénom[@]} et ${!prénom[*]} développez les indices attribués dans la variable de tableau prénomL’
le traitement entre guillemets doubles est similaire à l'expansion des paramètres spéciaux @
ainsi que * entre guillemets doubles.

La unset Builtin est utilisé pour détruire les tableaux. unset prénom[indice] détruit le tableau
élément à l'index indice. Les indices négatifs des tableaux indexés sont interprétés comme
décrit ci-dessus. Des précautions doivent être prises pour éviter les effets secondaires indésirables causés par le nom de chemin
vous propose d’explorer. unset prénom, Où prénom est un tableau, ou unset prénom[indice], où indice
is * or @, supprime l'intégralité du tableau.

La déclarer, localeset lecture seulement Les fonctions intégrées acceptent chacune un -a option pour spécifier un indexé
tableau et un -A option pour spécifier un tableau associatif. Si les deux options sont fournies, -A
a la priorité. le lire Builtin accepte un -a option pour attribuer une liste de mots lus
de l'entrée standard à un tableau. le set ainsi que déclarer Les fonctions intégrées affichent les valeurs du tableau dans
une manière qui leur permet d'être réutilisés comme affectations.

EXPANSION


L'expansion est effectuée sur la ligne de commande après avoir été divisée en mots. Il y a
sept types d'expansion effectués : braise avec des données, tilde avec des données, paramètre ainsi que
variable avec des données, commander substitution, des fonctions arithmétiques de bases avec des données, mot scissionet
chemin d'accès avec des données.

L'ordre des expansions est : expansion de l'accolade ; expansion tilde, paramètre et variable
expansion, expansion arithmétique et substitution de commandes (faites de gauche à droite
mode); fractionnement de mots ; et l'extension du chemin d'accès.

Sur les systèmes qui peuvent le prendre en charge, une extension supplémentaire est disponible : processus
substitution. Ceci est effectué en même temps que tilde, paramètre, variable et
développement arithmétique et substitution de commandes.

Seules l'expansion des accolades, le fractionnement des mots et l'expansion du nom de chemin peuvent modifier le nombre de
mots de l'expansion; d'autres extensions étendent un seul mot à un seul mot. Le seul
les exceptions à cette règle sont les extensions de "$@" et "${prénom[@]}" comme expliqué ci-dessus (voir
PARAMETRES).

Entretoise Expansion
Entretoise avec des données est un mécanisme par lequel des chaînes arbitraires peuvent être générées. Cette
mécanisme est similaire à chemin d'accès avec des données, mais les noms de fichiers générés n'ont pas besoin d'exister.
Les motifs à étendre de l'attelle prennent la forme d'une option préambule, suivi soit d'un
une série de chaînes séparées par des virgules ou une expression de séquence entre une paire d'accolades,
suivi d'une option post-scriptum. Le préambule est préfixé à chaque chaîne contenue
entre les accolades, et le postscript est ensuite ajouté à chaque chaîne résultante, en développant
de gauche à droite.

Les extensions d'accolades peuvent être imbriquées. Les résultats de chaque chaîne développée ne sont pas triés ; à gauche
au bon ordre est préservé. Par exemple, un{d,c,b}e se développe en « ade ace abe ».

Une expression de séquence prend la forme {x..y[..augmenter]}, Où x ainsi que y sont soit des nombres entiers, soit
caractères uniques, et augmenter, un incrément facultatif, est un entier. Lorsque les nombres entiers sont
fourni, l'expression s'étend à chaque nombre entre x ainsi que y, inclus. Fourni
les entiers peuvent être préfixés par 0 pour forcer chaque terme à avoir la même largeur. Quand soit x
or y commence par un zéro, le shell tente de forcer tous les termes générés à contenir le
même nombre de chiffres, en ajoutant des zéros si nécessaire. Lorsque des caractères sont fournis, le
expression s'étend à chaque caractère lexicographiquement entre x ainsi que y, inclus, en utilisant
les paramètres régionaux C par défaut. Notez que les deux x ainsi que y doit être du même type. Quand le
l'incrément est fourni, il est utilisé comme différence entre chaque terme. Le défaut
l'incrément est 1 ou -1 selon le cas.

L'expansion des accolades est effectuée avant toute autre expansion, et tous les caractères spéciaux à
les autres expansions sont conservées dans le résultat. C'est strictement textuel. Frapper ne collecte
appliquer toute interprétation syntaxique au contexte de l'expansion ou du texte entre les
croisillons.

Une extension d'accolade correctement formée doit contenir des accolades ouvrantes et fermantes sans guillemets, et
au moins une virgule sans guillemets ou une expression de séquence valide. Tout corset mal formé
l'expansion est laissée inchangée. UNE { or , peut être cité avec une barre oblique inverse pour éviter qu'il ne soit
considéré comme faisant partie d'une expression d'accolade. Pour éviter les conflits avec l'expansion des paramètres, le
un magnifique ${ n'est pas considéré comme éligible pour l'extension de l'attelle.

Cette construction est généralement utilisée comme raccourci lorsque le préfixe commun des chaînes à
généré est plus long que dans l'exemple ci-dessus :

mkdir /usr/local/src/bash/{ancien,nouveau,dist,bugs}
or
racine chown / usr /{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

L'extension Brace introduit une légère incompatibilité avec les versions historiques de sh. sh
ne traite pas spécialement les accolades ouvrantes ou fermantes lorsqu'elles apparaissent dans un mot, et
les conserve dans la sortie. Frapper supprime les accolades des mots en raison de l'accolade
expansion. Par exemple, un mot entré pour sh as fichier{1,2} apparaît à l'identique dans le
sortir. Le même mot est sorti comme file1 file2 après expansion de bash. Si strict
compatibilité avec sh est souhaité, commencez bash les +B option ou désactiver l'extension de l'accolade
les +B option à la set commande (voir SHELL BÂTI COMMANDES ci-dessous).

Tilde Expansion
Si un mot commence par un caractère tilde sans guillemets (`~'), tous les caractères précédant
la première barre oblique sans guillemets (ou tous les caractères, s'il n'y a pas de barre oblique sans guillemets) sont pris en compte
a préfixe-tilde. Si aucun des caractères du préfixe tilde n'est entre guillemets, les caractères
dans le préfixe tilde suivant le tilde sont traités comme un possible vous connecter prénom. Si ce
le nom de connexion est la chaîne nulle, le tilde est remplacé par la valeur du paramètre shell
ACCUEIL. Si ACCUEIL n'est pas défini, le répertoire personnel de l'utilisateur exécutant le shell est remplacé
plutôt. Sinon, le préfixe tilde est remplacé par le répertoire personnel associé à
le nom de connexion spécifié.

Si le préfixe tilde est un `~+', la valeur de la variable shell PWD remplace le tilde-
préfixe. Si le préfixe tilde est un `~-', la valeur de la variable shell ANCIENWD, Si c'est
ensemble, est substitué. Si les caractères qui suivent le tilde dans le préfixe tilde consistent en
un numéro N, éventuellement préfixé par un « + » ou un « - », le préfixe tilde est remplacé par le
l'élément correspondant de la pile de répertoires, tel qu'il serait affiché par le dirs
Builtin invoqué avec le préfixe tilde comme argument. Si les caractères suivant le
tilde dans le préfixe tilde consiste en un nombre sans '+' ou '-', '+' est
assumé.

Si le nom de connexion n'est pas valide ou si l'extension du tilde échoue, le mot reste inchangé.

Chaque affectation de variable est vérifiée pour les préfixes tilde non guillemets immédiatement après un :
ou le premier =. Dans ces cas, l'expansion du tilde est également effectuée. Par conséquent, on peut
utiliser des noms de fichiers avec des tildes dans les affectations à PATH, CHEMIN DE COURRIERet CDPATH, et la coquille
attribue la valeur étendue.

Paramètre Expansion
Le `$Le caractère ' introduit l'expansion des paramètres, la substitution de commandes ou l'arithmétique
expansion. Le nom du paramètre ou le symbole à développer peut être mis entre accolades, qui
sont facultatifs mais servent à protéger immédiatement la variable à développer des caractères
qui le suit, ce qui pourrait être interprété comme faisant partie du nom.

Lorsque des accolades sont utilisées, l'accolade de fin correspondante est la première `}' pas échappé par un
barre oblique inverse ou dans une chaîne entre guillemets, et non dans une expansion arithmétique intégrée,
substitution de commandes ou expansion de paramètres.

${paramètre}
La valeur de paramètre est substitué. Les accolades sont nécessaires lorsque paramètre est une
paramètre de position avec plus d'un chiffre, ou lorsque paramètre est suivi d'un
caractère qui ne doit pas être interprété comme faisant partie de son nom. le paramètre est une
paramètre shell comme décrit ci-dessus PARAMETRES) ou une référence de tableau (Arrays).

Si le premier caractère de paramètre est un point d'exclamation (!), il introduit un niveau de
indirection variable. Frapper utilise la valeur de la variable formée du reste de
paramètre comme nom de la variable ; cette variable est ensuite étendue et cette valeur est
utilisé dans le reste de la substitution, plutôt que la valeur de paramètre lui-même. C'est
connue sous le nom indirect avec des données. Les exceptions à cette règle sont les extensions de ${!préfixe*} et
${!prénom[@]} décrit ci-dessous. Le point d'exclamation doit suivre immédiatement l'accolade gauche
afin d'introduire l'indirection.

Dans chacun des cas ci-dessous, mot est soumis à l'expansion du tilde, à l'expansion des paramètres,
substitution de commandes et développement arithmétique.

Lorsque vous n'effectuez pas d'extension de sous-chaîne, utilisez les formulaires documentés ci-dessous (par exemple, :-), bash
teste un paramètre non défini ou nul. L'omission du côlon entraîne un test uniquement
pour un paramètre qui n'est pas défini.

${paramètre:-mot}
Utilisez Réglage par défaut Valeurs. Si paramètre est non défini ou nul, le développement de mot is
substitué. Sinon, la valeur de paramètre est remplacé.
${paramètre:=mot}
Attribuer Réglage par défaut Valeurs. Si paramètre est non défini ou nul, le développement de mot is
assigné à paramètre. La valeur de paramètre est alors substitué. Positionnel
les paramètres et les paramètres spéciaux ne peuvent pas être affectés de cette manière.
${paramètre:?mot}
Commande Erreur if Null or once. Si paramètre est nul ou non défini, le développement de
mot (ou un message à cet effet si mot n'est pas présent) est écrit sur le
erreur standard et le shell, s'il n'est pas interactif, se ferme. Sinon, le
valeur de paramètre est remplacé.
${paramètre:+mot}
Utilisez Autre Valeur. Si paramètre est nul ou non défini, rien n'est substitué,
sinon l'expansion de mot est remplacé.
${paramètre:compenser}
${paramètre:compenser:longueur}
Sous-chaîne Expansion. S'étend jusqu'à longueur caractères de la valeur de paramètre
en commençant par le caractère spécifié par compenser. Si paramètre is @, un tableau indexé
souscrit par @ or *, ou un nom de tableau associatif, les résultats diffèrent comme
décrit ci-dessous. Si longueur est omis, s'étend à la sous-chaîne de la valeur de
paramètre en commençant par le caractère spécifié par compenser et s'étendant jusqu'à la fin de
la valeur. longueur ainsi que compenser sont des expressions arithmétiques (voir ARITHMÉTIQUE ÉVALUATION
ci-dessous).

If compenser évalue à un nombre inférieur à zéro, la valeur est utilisée comme décalage dans
caractères à partir de la fin de la valeur de paramètre. Si longueur évalue à un nombre
inférieur à zéro, il est interprété comme un décalage en caractères à partir de la fin du
valeur de paramètre plutôt qu'un certain nombre de caractères, et l'extension est le
caractères entre compenser et ce résultat. Notez qu'un décalage négatif doit être
séparé du côlon par au moins un espace pour ne pas être confondu avec le :-
vous propose d’explorer.

If paramètre is @, le résultat est longueur paramètres de position commençant à compenser.
Un négatif compenser est pris par rapport à un plus grand que le plus grand positionnel
paramètre, donc un décalage de -1 est évalué au dernier paramètre de position. C'est un
erreur d'expansion si longueur évalue à un nombre inférieur à zéro.

If paramètre est un nom de tableau indexé indicé par @ ou *, le résultat est le
longueur membres du tableau commençant par ${paramètre[compenser]}. Un négatif compenser
est pris par rapport à un supérieur à l'index maximum du tableau spécifié. Ce
est une erreur d'expansion si longueur évalue à un nombre inférieur à zéro.

L'expansion de sous-chaîne appliquée à un tableau associatif produit des résultats indéfinis.

L'indexation des sous-chaînes est basée sur zéro, sauf si les paramètres positionnels sont utilisés, dans
auquel cas l'indexation commence à 1 par défaut. Si compenser est 0, et la position
les paramètres sont utilisés, $0 est préfixé à la liste.

${!préfixe*}
${!préfixe@}
Des noms assorti préfixe. S'étend aux noms des variables dont les noms commencent par
préfixe, séparés par le premier caractère du IFS variable spéciale. Lorsque @ is
utilisé et l'expansion apparaît entre guillemets, chaque nom de variable se développe en
un mot séparé.

${!prénom[@]}
${!prénom[*]}
Liste of tableau clés. Si prénom est une variable de tableau, s'étend à la liste des tableaux
indices (clés) attribués dans prénom. Si prénom n'est pas un tableau, passe à 0 si prénom is
set et null sinon. Lorsque @ est utilisé et l'expansion apparaît dans le double
guillemets, chaque touche se développe en un mot distinct.

${#paramètre}
Paramètre longueur. La longueur en caractères de la valeur de paramètre is
substitué. Si paramètre is * or @, la valeur substituée est le nombre de
paramètres de position. Si paramètre est un nom de tableau indicé par * or @,
valeur substituée est le nombre d'éléments dans le tableau. Si paramètre est un
nom de tableau indexé indicé par un nombre négatif, ce nombre est interprété comme
par rapport à un supérieur à l'indice maximum de paramètre, donc des indices négatifs
compte à rebours à partir de la fin du tableau, et un indice de -1 fait référence au dernier
.

${paramètre#mot}
${paramètre##mot}
Effacer assorti préfixe modèleL’ mot est étendu pour produire un motif tout comme
dans l'expansion du nom de chemin. Si le motif correspond au début de la valeur de
paramètre, alors le résultat du développement est la valeur développée de paramètre avec
le motif correspondant le plus court (le ``#'') ou le motif correspondant le plus long (le
``##'' cas) supprimé. Si paramètre is @ or *, l'opération de suppression de motif est
appliqué à chaque paramètre de position à son tour, et l'expansion est la résultante
liste. Si paramètre est une variable de tableau indicée avec @ or *, le motif
l'opération de suppression est appliquée à chaque membre du tableau à tour de rôle, et l'expansion
est la liste résultante.

${paramètre%mot}
${paramètre%%mot}
Effacer assorti suffixe modèleL’ mot est étendu pour produire un motif tout comme
dans l'expansion du nom de chemin. Si le motif correspond à une partie de fin de la
valeur de paramètre, alors le résultat du développement est la valeur développée de
paramètre avec le motif correspondant le plus court (le ``%'' cas) ou le plus long
motif correspondant (le ``%%'' cas) supprimé. Si paramètre is @ or *, le motif
l'opération de suppression est appliquée à chaque paramètre de position à tour de rôle, et le
l'expansion est la liste résultante. Si paramètre est une variable de tableau en indice
avec @ or *, l'opération de suppression de motif est appliquée à chaque membre du tableau
à son tour, et l'expansion est la liste résultante.

${paramètre/modèle/un magnifique}
Patron de Couture substitutionL’ modèle est étendu pour produire un motif comme dans
extension du nom de chemin. Paramètre est étendu et la plus longue correspondance de modèle à opposer à
sa valeur est remplacée par un magnifique. Si modèle commence par /, tous les matchs de
modèle sont remplacés par un magnifique. Normalement, seule la première correspondance est remplacée. Si
modèle commence par #, il doit correspondre au début de la valeur développée de
paramètre. Si modèle commence par %, il doit correspondre à la fin du déplié
valeur de paramètre. Si un magnifique est nul, les correspondances de modèle sont supprimés et le /
Abonnement modèle peut être omis. Si paramètre is @ or *, le remplacement
l'opération est appliquée à chaque paramètre de position à tour de rôle, et l'expansion est le
liste résultante. Si paramètre est une variable de tableau indicée avec @ or *,
l'opération de substitution est appliquée à chaque membre du tableau à tour de rôle, et la
l'expansion est la liste résultante.

${paramètre^modèle}
${paramètre^^modèle}
${paramètre,modèle}
${paramètre,,modèle}
Boitier modifiant. Cette extension modifie la casse des caractères alphabétiques dans
paramètreL’ modèle est étendu pour produire un motif exactement comme dans le nom de chemin
expansion. Chaque caractère de la valeur développée de paramètre est testé contre
modèle, et, s'il correspond au modèle, sa casse est convertie. Le motif doit
n'essayez pas de faire correspondre plus d'un caractère. le ^ l'opérateur convertit les minuscules
correspondance des lettres modèle en majuscule ; la , l'opérateur convertit les majuscules correspondantes
lettres en minuscules. le ^^ ainsi que ,, les extensions convertissent chaque caractère correspondant en
la valeur étendue ; la ^ ainsi que , les extensions correspondent et ne convertissent que le premier
caractère dans la valeur développée. Si modèle est omis, il est traité comme un ?,
qui correspond à chaque caractère. Si paramètre is @ or *, la modification de cas
l'opération est appliquée à chaque paramètre de position à tour de rôle, et l'expansion est le
liste résultante. Si paramètre est une variable de tableau indicée avec @ or *,
l'opération de modification de casse est appliquée à chaque membre du tableau à tour de rôle, et le
l'expansion est la liste résultante.

Command Substitution
Command substitution permet à la sortie d'une commande de remplacer le nom de la commande. Là
sont deux formes :

$(commander)
or
`commander`

Frapper effectue l'expansion en exécutant commander et en remplaçant la commande substitution
avec la sortie standard de la commande, avec tous les retours à la ligne supprimés. Embarqué
les nouvelles lignes ne sont pas supprimées, mais elles peuvent être supprimées lors du fractionnement des mots. La commande
substitution $(chat filet) peut être remplacé par l'équivalent mais plus rapide $( filet).

Lorsque la forme de substitution de guillemet arrière à l'ancienne est utilisée, la barre oblique inverse conserve son littéral
sens sauf lorsqu'il est suivi de $, `ou \. Le premier backquote non précédé d'un
La barre oblique inverse termine la substitution de commande. Lorsque vous utilisez le $(commander) forme, tout
les caractères entre parenthèses composent la commande ; aucun n'est traité spécialement.

Les substitutions de commandes peuvent être imbriquées. Pour imbriquer lors de l'utilisation de la forme entre guillemets, échappez le
guillemets intérieurs avec des barres obliques inverses.

Si la substitution apparaît entre guillemets doubles, le fractionnement de mots et l'expansion du chemin d'accès
ne sont pas effectués sur les résultats.

Arithmétique Expansion
Le développement arithmétique permet l'évaluation d'une expression arithmétique et la
substitution du résultat. Le format du développement arithmétique est :

$((expression))

L'ancien format $[expression] est obsolète et sera supprimé dans les prochaines versions de
frapper.

La expression est traité comme s'il était entre guillemets doubles, mais un guillemet double à l'intérieur
les parenthèses ne sont pas traitées spécialement. Tous les jetons de l'expression subissent un paramètre
et l'expansion des variables, la substitution de commandes et la suppression des guillemets. Le résultat est traité comme
l'expression arithmétique à évaluer. Les développements arithmétiques peuvent être imbriqués.

L'évaluation est effectuée selon les règles énumérées ci-dessous sous ARITHMÉTIQUE
ÉVALUATION. Si expression est invalide, bash imprime un message indiquant l'échec et non
substitution se produit.

Processus Substitution
Processus substitution est pris en charge sur les systèmes prenant en charge les canaux nommés (FIFO) ou la
/dev/fd méthode de nommage des fichiers ouverts. Il prend la forme de <(liste) or >(liste)L’
processus liste est exécuté avec son entrée ou sa sortie connectée à un FIFO ou un fichier dans /dev/fd.
Le nom de ce fichier est passé en argument à la commande en cours à la suite de la
expansion. Si la >(liste) formulaire est utilisé, l'écriture dans le fichier fournira une entrée pour liste.
Si la <(liste) form est utilisé, le fichier passé en argument doit être lu pour obtenir le
sortie de liste.

Lorsqu'elle est disponible, la substitution de processus est effectuée simultanément avec le paramètre et
expansion de variables, substitution de commandes et expansion arithmétique.

Word Scission
Le shell analyse les résultats de l'expansion des paramètres, de la substitution de commandes et de l'arithmétique
expansion qui ne s'est pas produite entre guillemets doubles pour mot scission.

Le shell traite chaque caractère de IFS comme délimiteur, et divise les résultats des autres
expansions en mots en utilisant ces caractères comme terminateurs de champ. Si IFS est désactivé, ou
sa valeur est exactement , la valeur par défaut, puis les séquences de , ,
ainsi que au début et à la fin des résultats des expansions précédentes sont
ignoré, et toute séquence de IFS les caractères qui ne se trouvent ni au début ni à la fin servent à délimiter
mots. Si IFS a une valeur autre que la valeur par défaut, puis des séquences d'espaces
caractères espace ainsi que languette sont ignorés au début et à la fin du mot, tant que le
caractère d'espacement est dans la valeur de IFS (un IFS caractère d'espacement). N'importe quel caractère
in IFS ce n'est pas IFS espace blanc, ainsi que tout adjacent IFS caractères d'espacement,
délimite un champ. Une séquence de IFS les caractères d'espacement sont également traités comme un délimiteur.
Si la valeur de IFS est nul, aucun fractionnement de mot ne se produit.

Arguments nuls explicites ("" or '') sont conservés. Arguments nuls implicites sans guillemets,
résultant de l'expansion de paramètres qui n'ont pas de valeurs, sont supprimés. Si un
le paramètre sans valeur est développé entre guillemets doubles, un argument nul en résulte et est
retenu.

Notez que si aucune expansion ne se produit, aucun fractionnement n'est effectué.

Chemin d'accès Expansion
Après le fractionnement des mots, à moins que le -f l'option a été définie, bash scanne chaque mot pour le
caractères *, ?et [. Si l'un de ces caractères apparaît, alors le mot est considéré comme
a modèle, et remplacé par une liste triée par ordre alphabétique de noms de fichiers correspondant au
modèle (voir Patron de Couture Des au dessous de). Si aucun nom de fichier correspondant n'est trouvé et que le shell
option nullglobe n'est pas activé, le mot reste inchangé. Si la nullglobe option est
défini et qu'aucune correspondance n'est trouvée, le mot est supprimé. Si la échecglob l'option shell est définie,
et aucune correspondance n'est trouvée, un message d'erreur est affiché et la commande n'est pas exécutée. Si
l'option coque nocaseglob est activé, la correspondance est effectuée sans tenir compte de la casse
de caractères alphabétiques. Notez que lorsque vous utilisez des expressions de plage comme [az] (voir ci-dessous),
les lettres de l'autre cas peuvent être incluses, selon le réglage de LC_COLLER. Quand un
modèle est utilisé pour l'expansion du nom de chemin, le caractère ``.'' au début d'un nom ou
immédiatement après une barre oblique doit correspondre explicitement, à moins que l'option shell pointglob
est réglé. Lors de la correspondance avec un nom de chemin, le caractère barre oblique doit toujours être mis en correspondance explicitement.
Dans d'autres cas, le ``.'' caractère n'est pas traité spécialement. Voir la description de
magasiner ci-dessous sous SHELL BÂTI COMMANDES pour une description de la nocaseglob, nullglobe,
échecglobet pointglob options de coque.

La GLOBIGNORE La variable shell peut être utilisée pour restreindre l'ensemble des noms de fichiers correspondant à un
modèle. Si GLOBIGNORE est défini, chaque nom de fichier correspondant qui correspond également à l'un des
des motifs en GLOBIGNORE est retiré de la liste des correspondances. Les noms de fichiers ``.'' ainsi que
``..'' sont toujours ignorés lorsque GLOBIGNORE est défini et non nul. Cependant, le réglage
GLOBIGNORE à une valeur non nulle a pour effet de permettre la pointglob option shell, donc tout
autres noms de fichiers commençant par un ``.'' correspondra. Pour obtenir le vieux comportement d'ignorer
les noms de fichiers commençant par un ``.'', faire ``.*'' l'un des modèles de GLOBIGNOREL’
pointglob l'option est désactivée lorsque GLOBIGNORE est non réglé.

Patron de Couture Des

Tout caractère qui apparaît dans un motif, autre que les caractères de motif spéciaux
décrit ci-dessous, correspond à lui-même. Le caractère NUL peut ne pas apparaître dans un modèle. UNE
La barre oblique inverse échappe le caractère suivant ; la barre oblique inverse qui s'échappe est ignorée lorsque
correspondant à. Les caractères de modèle spéciaux doivent être entre guillemets s'ils doivent être mis en correspondance
Littéralement.

Les caractères de modèle spéciaux ont les significations suivantes :

* Correspond à n'importe quelle chaîne, y compris la chaîne nulle. Quand le étoile mondiale coquille
l'option est activée, et * est utilisé dans un contexte d'extension de chemin, deux
adjacent *s utilisé comme modèle unique correspondra à tous les fichiers et à zéro ou plus
répertoires et sous-répertoires. S'il est suivi d'un /, deux adjacents *s va
correspondre uniquement aux répertoires et sous-répertoires.
? Correspond à n'importe quel caractère.
[...] Correspond à l'un des caractères inclus. Une paire de caractères séparés
par un trait d'union désigne un gamme expression; tout caractère qui se situe entre
ces deux caractères, inclus, en utilisant l'assemblage des paramètres régionaux actuels
la séquence et le jeu de caractères, est mis en correspondance. Si le premier caractère suivant
le [ est une ! ou ^ alors tout caractère non inclus est mis en correspondance. le
l'ordre de tri des caractères dans les expressions de plage est déterminé par le
locale actuelle et les valeurs du LC_COLLER or LC_TOUS variables shell,
si défini. Pour obtenir l'interprétation traditionnelle des expressions de plage,
De [un d] équivaut à [a B c d], définissez la valeur du LC_TOUS variable shell
à C, ou activer le gammes globales option coque. UNE - peut correspondre à
en l'incluant comme premier ou dernier caractère de l'ensemble. UNE ] peut correspondre
en l'incluant comme premier caractère de l'ensemble.

Dans [ ainsi que ], caractère les classes peut être spécifié en utilisant la syntaxe
[:classe:], Où classe est l'une des classes suivantes définies dans le POSIX
la norme:
numéro d'album Alpha ascii vide ctrl chiffre graphique baisser impression point espace supérieur mot
xchiffre
Une classe de caractères correspond à tout caractère appartenant à cette classe. le mot
La classe de caractères correspond aux lettres, aux chiffres et au caractère _.

Dans [ ainsi que ], un équivalence classe peut être spécifié en utilisant la syntaxe
[=c=], qui correspond à tous les caractères avec le même poids de classement (comme
défini par la locale actuelle) en tant que caractère c.

Dans [ ainsi que ], la syntaxe [.symbole.] correspond au symbole d'assemblage symbole.

Si la extglob l'option shell est activée à l'aide de la magasiner intégré, plusieurs modèles étendus
les opérateurs correspondants sont reconnus. Dans la description suivante, un liste-modèle est une liste
d'un ou plusieurs motifs séparés par un |. Les motifs composites peuvent être formés à l'aide d'un ou
plusieurs des sous-modèles suivants :

?(liste-modèle)
Correspond à zéro ou une occurrence des modèles donnés
*(liste-modèle)
Correspond à zéro ou plusieurs occurrences des modèles donnés
+(liste-modèle)
Correspond à une ou plusieurs occurrences des modèles donnés
@(liste-modèle)
Correspond à l'un des modèles donnés
!(liste-modèle)
Correspond à tout sauf à l'un des modèles donnés

Paramètres généreaux #
Après les développements précédents, toutes les occurrences sans guillemets des caractères \, 'et "
qui ne résulte pas de l'une des extensions ci-dessus sont supprimées.

REDIRECTION


Avant qu'une commande ne soit exécutée, son entrée et sa sortie peuvent être redirigé en utilisant un spécial
notation interprétée par le shell. La redirection permet aux descripteurs de fichiers des commandes d'être
dupliqué, ouvert, fermé, fait pour faire référence à différents fichiers, et peut modifier les fichiers le
la commande lit et écrit vers. La redirection peut également être utilisée pour modifier les descripteurs de fichiers dans
l'environnement d'exécution du shell actuel. Les opérateurs de redirection suivants peuvent précéder
ou apparaître n'importe où dans un simple commander ou peut suivre un commander. Les redirections sont
traitées dans l'ordre où elles apparaissent, de gauche à droite.

Chaque redirection qui peut être précédée d'un numéro de descripteur de fichier peut à la place être précédée
par un mot de la forme {varname}. Dans ce cas, pour chaque opérateur de redirection sauf >&-
et <&-, le shell allouera un descripteur de fichier supérieur ou égal à 10 et assignera
à varname. Si >&- ou <&- est précédé de {varname}, la valeur de varname définit le
descripteur de fichier à fermer.

Dans les descriptions suivantes, si le numéro de descripteur de fichier est omis et que le premier
caractère de l'opérateur de redirection est <, la redirection se réfère à l'entrée standard
(descripteur de fichier 0). Si le premier caractère de l'opérateur de redirection est >,
la redirection fait référence à la sortie standard (descripteur de fichier 1).

Le mot suivant l'opérateur de redirection dans les descriptions suivantes, à moins que
autrement noté, est soumis à l'expansion de l'accolade, à l'expansion du tilde, au paramètre et à la variable
expansion, substitution de commandes, expansion arithmétique, suppression de guillemets, expansion de chemin d'accès,
et le fractionnement des mots. S'il s'étend à plus d'un mot, bash signale une erreur.

Notez que l'ordre des redirections est important. Par exemple, la commande

ls > liste d'annuaire 2>&1

dirige à la fois la sortie standard et l'erreur standard vers le fichier liste d'annuaire, tandis que la commande

ls 2>&1 > liste d'annuaire

dirige uniquement la sortie standard vers un fichier liste d'annuaire, car l'erreur standard était
dupliqué à partir de la sortie standard avant que la sortie standard ne soit redirigée vers liste d'annuaire.

Frapper gère plusieurs noms de fichiers spécialement lorsqu'ils sont utilisés dans les redirections, comme décrit
dans le tableau suivant:

/dev/fd/fd
If fd est un entier valide, descripteur de fichier fd est dupliqué.
/dev/stdin
Le descripteur de fichier 0 est dupliqué.
/dev/stdout
Le descripteur de fichier 1 est dupliqué.
/dev/stder
Le descripteur de fichier 2 est dupliqué.
/dev/tcp/hôte/port
If hôte est un nom d'hôte ou une adresse Internet valide, et port est un port entier
numéro ou nom du service, bash tente d'ouvrir le socket TCP correspondant.
/dev/udp/hôte/port
If hôte est un nom d'hôte ou une adresse Internet valide, et port est un port entier
numéro ou nom du service, bash tente d'ouvrir le socket UDP correspondant.

Un échec d'ouverture ou de création d'un fichier entraîne l'échec de la redirection.

Les redirections utilisant des descripteurs de fichiers supérieurs à 9 doivent être utilisées avec précaution, car elles peuvent
conflit avec les descripteurs de fichiers que le shell utilise en interne.

Notez que le exec La commande intégrée peut faire en sorte que les redirections prennent effet dans le shell actuel.

Redirection Entrée
La redirection d'entrée provoque le fichier dont le nom résulte de l'expansion de mot être
ouvert en lecture sur le descripteur de fichier n, ou l'entrée standard (descripteur de fichier 0) si n is
non précisé.

Le format général pour rediriger l'entrée est :

[n]<mot

Redirection Sortie
La redirection de la sortie provoque le fichier dont le nom résulte de l'expansion de mot être
ouvert en écriture sur le descripteur de fichier n, ou la sortie standard (descripteur de fichier 1) si n
n'est pas spécifié. Si le fichier n'existe pas, il est créé ; si ça existe c'est
tronqué à la taille zéro.

Le format général pour rediriger la sortie est :

[n]>mot

Si l'opérateur de redirection est >, et le nul option à la set intégré a été
activée, la redirection échouera si le fichier dont le nom résulte de l'expansion de
mot existe et est un fichier régulier. Si l'opérateur de redirection est >|, ou la redirection
l'opérateur est > et par nul option à la set la commande intégrée n'est pas activée, la
la redirection est tentée même si le fichier nommé par mot existe.

Ajout Redirigé Sortie
La redirection de la sortie de cette manière provoque le fichier dont le nom résulte de la
expansion de mot à ouvrir pour ajout au descripteur de fichier n, ou la sortie standard
(descripteur de fichier 1) si n n'est pas spécifié. Si le fichier n'existe pas, il est créé.

Le format général pour l'ajout de la sortie est :

[n]>>mot

Redirection Standard Sortie ainsi que Standard Erreur
Cette construction permet à la fois la sortie standard (descripteur de fichier 1) et l'erreur standard
sortie (descripteur de fichier 2) à rediriger vers le fichier dont le nom est l'expansion de
mot.

Il existe deux formats pour rediriger la sortie standard et l'erreur standard :

&>mot
ainsi que
>&mot

Des deux formes, la première est préférée. Ceci est sémantiquement équivalent à

>mot 2>&1

Lorsque vous utilisez le deuxième formulaire, mot peut ne pas s'étendre à un nombre ou -. Si c'est le cas, d'autres
les opérateurs de redirection s'appliquent (voir Dupliquer Déposez votre dernière attestation Descripteurs ci-dessous) pour la compatibilité
les raisons.

Ajout Standard Sortie ainsi que Standard Erreur
Cette construction permet à la fois la sortie standard (descripteur de fichier 1) et l'erreur standard
sortie (descripteur de fichier 2) à ajouter au fichier dont le nom est l'expansion de mot.

Le format d'ajout de la sortie standard et de l'erreur standard est :

&>>mot

Ceci est sémantiquement équivalent à

>>mot 2>&1

(voir Dupliquer Déposez votre dernière attestation Descripteurs ci-dessous).

Ici DOCUMENTS
Ce type de redirection demande au shell de lire l'entrée de la source actuelle jusqu'à ce qu'un
ligne contenant seulement délimiteur (sans blancs de fin) est visible. Toutes les lignes lues
jusqu'à ce point sont alors utilisés comme entrée standard pour une commande.

Le format des documents ici est :

<<[-]mot
ici-document
délimiteur

Pas d'expansion de paramètres et de variables, de substitution de commandes, d'expansion arithmétique ou
l'expansion du nom de chemin est effectuée sur mot. Si des caractères dans mot sont cités, les
délimiteur est le résultat de la suppression d'un devis sur mot, et les lignes dans le document ici sont
pas élargi. Si mot n'est pas entre guillemets, toutes les lignes du présent document sont soumises à
développement de paramètres, substitution de commandes et développement arithmétique, le caractère
séquence \ est ignoré, et \ doit être utilisé pour citer les caractères \, $et `.

Si l'opérateur de redirection est << -, alors tous les caractères de tabulation de début sont supprimés de
lignes d'entrée et la ligne contenant délimiteur. Cela permet aux here-documents dans le shell
scripts à indenter de façon naturelle.

Ici String
Une variante d'ici documents, le format est :

<<mot

La mot subit une expansion d'accolade, une expansion de tilde, une expansion de paramètre et de variable,
substitution de commandes, développement arithmétique et suppression de guillemets. Extension du nom de chemin et
le fractionnement des mots n'est pas effectué. Le résultat est fourni sous forme de chaîne unique au
commande sur son entrée standard.

Dupliquer Déposez votre dernière attestation Descripteurs
L'opérateur de redirection

[n]<&mot

est utilisé pour dupliquer les descripteurs de fichiers d'entrée. Si mot s'étend à un ou plusieurs chiffres, le
descripteur de fichier désigné par n est fait pour être une copie de ce descripteur de fichier. Si les chiffres
in mot ne spécifiez pas un descripteur de fichier ouvert en entrée, une erreur de redirection se produit. Si
mot évalue à -, descripteur de fichier n est fermé. Si n n'est pas spécifié, la norme
input (descripteur de fichier 0) est utilisé.

L'opérateur

[n]>&mot

est utilisé de la même manière pour dupliquer les descripteurs de fichiers de sortie. Si n n'est pas spécifié, le
la sortie standard (descripteur de fichier 1) est utilisée. Si les chiffres de mot ne spécifiez pas de fichier
descripteur ouvert pour la sortie, une erreur de redirection se produit. Si mot évalue à -, fichier
descripteur n est fermé. Comme cas particulier, si n est omis, et mot ne s'étend pas à
un ou plusieurs chiffres ou -, la sortie standard et l'erreur standard sont redirigées comme
décrit précédemment.

En mouvement Déposez votre dernière attestation Descripteurs
L'opérateur de redirection

[n]<&chiffre-

déplace le descripteur de fichier chiffre au descripteur de fichier n, ou l'entrée standard (fichier
descripteur 0) si n n'est pas spécifié. chiffre est fermé après avoir été dupliqué sur n.

De même, l'opérateur de redirection

[n]>&chiffre-

déplace le descripteur de fichier chiffre au descripteur de fichier n, ou la sortie standard (fichier
descripteur 1) si n n'est pas spécifié.

Ouverture Déposez votre dernière attestation Descripteurs en en cours ainsi que Écriture
L'opérateur de redirection

[n]<>mot

provoque le fichier dont le nom est l'expansion de mot à ouvrir pour la lecture et
écriture sur le descripteur de fichier n, ou sur le descripteur de fichier 0 si n n'est pas spécifié. Si le fichier
n'existe pas, il est créé.

ALIASES


Alias autoriser la substitution d'une chaîne à un mot lorsqu'il est utilisé comme premier mot d'un
commande simple. Le shell maintient une liste d'alias qui peuvent être définis et désactivés avec le
alias ainsi que Unalias commandes intégrées (voir SHELL BÂTI COMMANDES au dessous de). Le premier mot de
chaque commande simple, si elle n'est pas entre guillemets, est vérifiée pour voir si elle a un alias. Si oui, ce mot
est remplacé par le texte de l'alias. Les personnages /, $, `et = et l'une des coquilles
métacaractères ou les guillemets énumérés ci-dessus peuvent ne pas apparaître dans un nom d'alias. le
le texte de remplacement peut contenir toute entrée de shell valide, y compris les métacaractères du shell. le
le premier mot du texte de remplacement est testé pour les alias, mais un mot qui est identique à
un alias en cours de développement n'est pas développé une seconde fois. Cela signifie que l'on peut alias ls
à ls -Fpar exemple, et bash n'essaie pas de développer récursivement le texte de remplacement.
Si le dernier caractère de la valeur d'alias est un vide, puis le mot de commande suivant
l'alias est également vérifié pour l'expansion d'alias.

Les alias sont créés et répertoriés avec le alias commande, et supprimé avec le Unalias
commander.

Il n'y a pas de mécanisme pour utiliser des arguments dans le texte de remplacement. Si les arguments sont
nécessaire, une fonction shell doit être utilisée (voir FONCTIONS ci-dessous).

Les alias ne sont pas développés lorsque le shell n'est pas interactif, à moins que le expand_aliases
l'option shell est définie à l'aide magasiner (voir la description de magasiner sous SHELL BÂTI COMMANDES
ci-dessous).

Les règles concernant la définition et l'utilisation des alias sont quelque peu confuses. Frapper
lit toujours au moins une ligne complète d'entrée avant d'exécuter l'une des commandes sur
cette ligne. Les alias sont développés lorsqu'une commande est lue, pas lorsqu'elle est exécutée.
Par conséquent, une définition d'alias apparaissant sur la même ligne qu'une autre commande ne prend pas
effet jusqu'à ce que la ligne d'entrée suivante soit lue. Les commandes suivant la définition de l'alias
sur cette ligne ne sont pas affectés par le nouvel alias. Ce comportement est également un problème lorsque
les fonctions sont exécutées. Les alias sont développés lorsqu'une définition de fonction est lue, pas lorsque
la fonction est exécutée, car une définition de fonction est elle-même une commande composée. Comme
par conséquent, les alias définis dans une fonction ne sont disponibles qu'après cette fonction
est exécuté. Pour plus de sécurité, placez toujours les définitions d'alias sur une ligne séparée et n'utilisez pas
alias dans les commandes composées.

Dans presque tous les cas, les alias sont remplacés par des fonctions shell.

FONCTIONS


Une fonction shell, définie comme décrit ci-dessus sous SHELL GRAMMAIRE, stocke une série de
commandes pour une exécution ultérieure. Lorsque le nom d'une fonction shell est utilisé comme un simple
nom de la commande, la liste des commandes associées à ce nom de fonction est exécutée.
Les fonctions sont exécutées dans le contexte du shell courant ; aucun nouveau processus n'est créé pour
les interpréter (contrairement à l'exécution d'un script shell). Lorsqu'une fonction est
exécutée, les arguments de la fonction deviennent les paramètres positionnels au cours de sa
exécution. Le paramètre spécial # est mis à jour pour refléter le changement. Paramètre spécial 0
est inchangé. Le premier élément de la NOM DE FONCTION variable est définie sur le nom de la
fonction pendant l'exécution de la fonction.

Tous les autres aspects de l'environnement d'exécution du shell sont identiques entre une fonction et
son appelant avec ces exceptions : le DEBUG ainsi que RETOUR pièges (voir la description du
piège intégré sous SHELL BÂTI COMMANDES ci-dessous) ne sont pas hérités sauf si la fonction a
reçu le tracer attribut (voir la description du déclarer intégré ci-dessous) ou le
-o fonction l'option shell a été activée avec le set intégré (auquel cas tous
les fonctions héritent du DEBUG ainsi que RETOUR pièges) et le ERR piège n'est pas hérité à moins que
le -o erreur l'option shell a été activée.

Les variables locales à la fonction peuvent être déclarées avec le locales commande intégrée.
Normalement, les variables et leurs valeurs sont partagées entre la fonction et son appelant.

La FUNCNEST variable, si elle est définie sur une valeur numérique supérieure à 0, définit un maximum
niveau d'imbrication des fonctions. Les appels de fonction qui dépassent la limite entraînent la
commande pour abandonner.

Si la commande intégrée retourner est exécutée dans une fonction, la fonction se termine et
l'exécution reprend avec la commande suivante après l'appel de fonction. Toute commande associée
les RETOUR trap est exécuté avant la reprise de l'exécution. Lorsqu'une fonction se termine, le
valeurs des paramètres positionnels et du paramètre spécial # sont restaurés aux valeurs
ils avaient avant l'exécution de la fonction.

Les noms de fonction et les définitions peuvent être répertoriés avec le -f option à la déclarer or composer
commandes intégrées. le -F Option de déclarer or composer listera uniquement les noms de fonction
(et éventuellement le fichier source et le numéro de ligne, si le extdebug l'option shell est activée).
Les fonctions peuvent être exportées afin que les sous-shells les aient automatiquement définies avec le -f
option à la Exporter intégré. Une définition de fonction peut être supprimée à l'aide de la -f Option de
le unset intégré. Notez que les fonctions shell et les variables du même nom peuvent résulter
dans plusieurs entrées portant le même nom dans l'environnement transmis aux enfants du shell.
Des précautions doivent être prises dans les cas où cela peut causer un problème.

Les fonctions peuvent être récursives. le FUNCNEST variable peut être utilisée pour limiter la profondeur de la
pile d'appels de fonction et restreindre le nombre d'appels de fonction. Par défaut, pas de limite
est imposé sur le nombre d'appels récursifs.

ARITHMÉTIQUE ÉVALUATION


Le shell permet d'évaluer des expressions arithmétiques, dans certaines circonstances (voir
le laisser ainsi que déclarer commandes intégrées et Arithmétique Expansion). L'évaluation se fait en
entiers à largeur fixe sans contrôle de débordement, bien que la division par 0 soit piégée et
signalé comme une erreur. Les opérateurs et leur priorité, associativité et valeurs sont
le même que dans le langage C. La liste d'opérateurs suivante est regroupée en niveaux de
opérateurs d'égalité de priorité. Les niveaux sont répertoriés par ordre de priorité décroissante.

id++ id--
post-incrémentation et post-décrémentation variable
++id --id
pré-incrémentation et pré-décrémentation variables
- + unaire moins et plus
! ~ négation logique et au niveau du bit
** exponentiation
* / % multiplication, division, reste
+ - addition soustraction
<< >> décalages binaires à gauche et à droite
<= >= < >
Comparaison
== != égalité et inégalité
& bit à bit ET
^ OU exclusif au niveau du bit
| OU au niveau du bit
&& ET logique
|| OU logique
expr?expr:expr
opérateur conditionnel
= *= /= %= += -= << = >> = &= ^= |=
affectation
expression1 , expression2
virgule

Les variables shell sont autorisées en tant qu'opérandes ; l'expansion des paramètres est effectuée avant le
l'expression est évaluée. Dans une expression, les variables shell peuvent également être référencées par
name sans utiliser la syntaxe d'extension de paramètre. Une variable shell qui est nulle ou non définie
est évalué à 0 lorsqu'il est référencé par nom sans utiliser la syntaxe d'extension de paramètre. le
la valeur d'une variable est évaluée comme une expression arithmétique lorsqu'elle est référencée, ou
lorsqu'une variable qui a reçu le entier attribut à l'aide déclarer -i se voit attribuer un
valeur. Une valeur nulle est évaluée à 0. Une variable shell n'a pas besoin d'avoir son entier attribuer
activé pour être utilisé dans une expression.

Les constantes précédées d'un 0 sont interprétées comme des nombres octaux. Un premier 0x ou 0X indique
hexadécimal. Sinon, les nombres prennent la forme [base#]n, où l'optionnel base est une
nombre décimal compris entre 2 et 64 représentant la base arithmétique, et n est un nombre dans
cette base. Si base# est omis, alors la base 10 est utilisée. Lors de la spécification n, les chiffres
supérieur < à 9 sont représentés par les lettres minuscules, les lettres majuscules, @ et _,
dans cet ordre. Si base est inférieur ou égal à 36, les lettres minuscules et majuscules peuvent
être utilisés de manière interchangeable pour représenter des nombres entre 10 et 35.

Les opérateurs sont évalués par ordre de priorité. Les sous-expressions entre parenthèses sont
évalué en premier et peut outrepasser les règles de priorité ci-dessus.

CONDITIONNEL EXPRESSIONS


Les expressions conditionnelles sont utilisées par le [[ commande composée et la tester ainsi que [ builtin
commandes pour tester les attributs de fichier et effectuer des comparaisons de chaînes et d'arithmétique.
Les expressions sont formées à partir des primaires unaires ou binaires suivants. Si seulement filet argument
à l'une des primaires est de la forme /dev/fd/n, puis descripteur de fichier n est vérifié. Si
le filet argument à l'un des primaires est l'un des /dev/stdin, /dev/stdoutou
/dev/stder, le descripteur de fichier 0, 1 ou 2, respectivement, est coché.

Sauf indication contraire, les primaires qui opèrent sur des fichiers suivent des liens symboliques et
opérer sur la cible du lien, plutôt que sur le lien lui-même.

Lorsqu'il est utilisé avec [[, < ainsi que > Les opérateurs trient lexicographiquement en utilisant la locale courante.
La tester la commande trie à l'aide de l'ordre ASCII.

-a filet
Vrai si filet existe.
-b filet
Vrai si filet existe et est un fichier spécial de bloc.
-c filet
Vrai si filet existe et est un fichier spécial de caractères.
-d filet
Vrai si filet existe et est un répertoire.
-e filet
Vrai si filet existe.
-f filet
Vrai si filet existe et est un fichier régulier.
-g filet
Vrai si filet existe et est set-group-id.
-h filet
Vrai si filet existe et est un lien symbolique.
-k filet
Vrai si filet existe et son bit ``sticky'' est défini.
-p filet
Vrai si filet existe et est un tube nommé (FIFO).
-r filet
Vrai si filet existe et est lisible.
-s filet
Vrai si filet existe et a une taille supérieure à zéro.
-t fd Vrai si descripteur de fichier fd est ouvert et fait référence à un terminal.
-u filet
Vrai si filet existe et son bit set-user-id est défini.
-w filet
Vrai si filet existe et est accessible en écriture.
-x filet
Vrai si filet existe et est exécutable.
-G filet
Vrai si filet existe et appartient à l'ID de groupe effectif.
-L filet
Vrai si filet existe et est un lien symbolique.
-N filet
Vrai si filet existe et a été modifié depuis sa dernière lecture.
-O filet
Vrai si filet existe et appartient à l'ID utilisateur effectif.
-S filet
Vrai si filet existe et est une socket.
file1 -si file2
Vrai si file1 ainsi que file2 se référer aux mêmes numéros d'appareil et d'inode.
file1 -nt file2
Vrai si file1 est plus récent (selon la date de modification) que file2, ou si file1
existe et file2 ne fait pas.
file1 -ot file2
Vrai si file1 est plus vieux que file2, ou si file2 existe et file1 ne fait pas.
-o nomop
Vrai si l'option shell nomop est autorisé. Voir la liste des options sous le
descriptif de la -o option à la set intégré ci-dessous.
-v varname
Vrai si la variable shell varname est défini (une valeur a été affectée).
-R varname
Vrai si la variable shell varname est défini et est une référence de nom.
-z un magnifique
Vrai si la longueur de un magnifique est zéro.
un magnifique
-n un magnifique
Vrai si la longueur de un magnifique est non nul.

string1 == string2
string1 = string2
Vrai si les chaînes sont égales. = doit être utilisé avec le tester commande pour POSIX
conformité. Lorsqu'il est utilisé avec le [[ commande, cela effectue la correspondance de modèle comme
décrit ci-dessus (Composé Commandes).

string1 != string2
Vrai si les chaînes ne sont pas égales.

string1 < string2
Vrai si string1 trie avant string2 lexicographiquement.

string1 > string2
Vrai si string1 trie après string2 lexicographiquement.

argument1 OP argument2
OP fait partie de -eq, -Ne, -lt, -Le, -Gtou -donner. Ces opérateurs binaires arithmétiques
retourne vrai si argument1 est égal à, différent de, inférieur à, inférieur ou égal à,
supérieur ou supérieur ou égal à argument2, Respectivement. arg1 ainsi que argument2 peut être
entiers positifs ou négatifs.

SIMPLE COMMAND EXPANSION


Lorsqu'une commande simple est exécutée, le shell effectue les expansions suivantes,
les affectations et les redirections, de gauche à droite.

1. Les mots que l'analyseur a marqués comme affectations de variables (ceux qui précèdent le
nom de la commande) et les redirections sont enregistrées pour un traitement ultérieur.

2. Les mots qui ne sont pas des affectations de variables ou des redirections sont développés. Si seulement
les mots restent après expansion, le premier mot est considéré comme le nom de la commande
et les mots restants sont les arguments.

3. Les redirections sont effectuées comme décrit ci-dessus sous REDIRECTION.

4. Le texte après le = dans chaque affectation de variable subit une expansion en tilde,
expansion de paramètres, substitution de commandes, expansion arithmétique et suppression de guillemets
avant d'être affecté à la variable.

Si aucun nom de commande ne résulte, les affectations de variables affectent l'environnement shell actuel.
Sinon, les variables sont ajoutées à l'environnement de la commande exécutée et ne
affecter l'environnement shell actuel. Si l'une des affectations tente d'attribuer un
valeur à une variable en lecture seule, une erreur se produit et la commande se termine avec une valeur différente de zéro
état.

Si aucun nom de commande ne résulte, les redirections sont effectuées, mais n'affectent pas le
environnement shell. Une erreur de redirection entraîne la sortie de la commande avec un état différent de zéro.

S'il reste un nom de commande après l'expansion, l'exécution se déroule comme décrit ci-dessous.
Sinon, la commande se termine. Si l'une des extensions contenait une substitution de commande,
l'état de sortie de la commande est l'état de sortie de la dernière substitution de commande
effectué. S'il n'y a eu aucune substitution de commande, la commande se termine avec un statut de
zéro.

COMMAND EXÉCUTION


Une fois qu'une commande a été divisée en mots, si elle se traduit par une commande simple et une
liste facultative d'arguments, les actions suivantes sont effectuées.

Si le nom de la commande ne contient aucune barre oblique, le shell tente de le localiser. S'il existe
une fonction shell de ce nom, cette fonction est invoquée comme décrit ci-dessus dans FONCTIONS.
Si le nom ne correspond pas à une fonction, le shell le recherche dans la liste des shell
intégrés. Si une correspondance est trouvée, cette fonction intégrée est invoquée.

Si le nom n'est ni une fonction shell ni une fonction intégrée et ne contient aucune barre oblique, bash
recherche chaque élément du PATH pour un répertoire contenant un fichier exécutable par celui
nom. Frapper utilise une table de hachage pour mémoriser les chemins complets des fichiers exécutables (voir hachage
sous SHELL BÂTI COMMANDES au dessous de). Une recherche complète dans les annuaires PATH is
effectuée uniquement si la commande n'est pas trouvée dans la table de hachage. Si la recherche est
sans succès, le shell recherche une fonction shell définie nommée
command_not_found_handle. Si cette fonction existe, elle est invoquée avec l'original
commande et les arguments de la commande d'origine comme arguments, et la sortie de la fonction
status devient l'état de sortie du shell. Si cette fonction n'est pas définie, le shell
imprime un message d'erreur et renvoie un état de sortie de 127.

Si la recherche est réussie, ou si le nom de la commande contient une ou plusieurs barres obliques, le
shell exécute le programme nommé dans un environnement d'exécution séparé. L'argument 0 est défini
au nom donné, et les arguments restants de la commande sont définis sur les arguments
donné, le cas échéant.

Si cette exécution échoue parce que le fichier n'est pas au format exécutable et que le fichier n'est pas
un répertoire, il est supposé être un coquille scénario, un fichier contenant des commandes shell. UNE
le sous-shell est généré pour l'exécuter. Ce sous-shell se réinitialise, de sorte que l'effet
est comme si un nouveau shell avait été invoqué pour gérer le script, à l'exception du fait que le
emplacements des commandes mémorisées par le parent (voir hachage ci-dessous sous SHELL BÂTI
COMMANDES) sont conservés par l'enfant.

Si le programme est un fichier commençant par #!, le reste de la première ligne spécifie un
interprète pour le programme. Le shell exécute l'interpréteur spécifié lors du fonctionnement
systèmes qui ne gèrent pas eux-mêmes ce format exécutable. Les arguments à la
interprète se compose d'un seul argument facultatif suivant le nom de l'interprète sur le
première ligne du programme, suivi du nom du programme, suivi de la commande
arguments, le cas échéant.

COMMAND EXÉCUTION ENVIRONNEMENT


La coquille a un exécution sûr, heureux et sain, qui se compose des éléments suivants :

· ouvrir les fichiers hérités par le shell à l'invocation, tels que modifiés par les redirections
fourni au exec builtin

· le répertoire de travail actuel tel que défini par cd, pushdou popd, ou hérité par le
shell à l'invocation

· le masque de mode de création de fichier tel que défini par umask ou hérité du parent du shell

· pièges à courant posés par piège

· paramètres de coque définis par affectation de variable ou avec set ou hérité de
le parent du shell dans l'environnement

· fonctions shell définies lors de l'exécution ou héritées du parent du shell dans
l'environnement

· options activées à l'invocation (soit par défaut soit avec des arguments en ligne de commande) ou
by set

· options activées par magasiner

· alias shell définis avec alias

· divers identifiants de processus, dont ceux des jobs d'arrière-plan, la valeur de $$, et le
valeur de PPID

Lorsqu'une commande simple autre qu'une fonction intégrée ou shell doit être exécutée, il est
invoqué dans un environnement d'exécution séparé qui se compose des éléments suivants. Sauf si
sinon, les valeurs sont héritées du shell.

· les fichiers ouverts du shell, ainsi que toutes les modifications et ajouts spécifiés par
redirections vers la commande

· le répertoire de travail courant

· le masque du mode création de fichier

· variables shell et fonctions marquées pour l'exportation, ainsi que les variables exportées pour
la commande, passée dans l'environnement

· les pièges attrapés par le shell sont réinitialisés aux valeurs héritées du shell
parent, et les pièges ignorés par le shell sont ignorés

Une commande invoquée dans cet environnement séparé ne peut pas affecter l'exécution du shell
environnement.

La substitution de commandes, les commandes regroupées entre parenthèses et les commandes asynchrones sont
invoqué dans un environnement de sous-shell qui est un doublon de l'environnement de shell, sauf
que les pièges capturés par le shell sont réinitialisés aux valeurs que le shell a hérité de son
parent à l'invocation. Les commandes intégrées qui sont invoquées dans le cadre d'un pipeline sont également
exécuté dans un environnement de sous-shell. Les modifications apportées à l'environnement du sous-shell ne peuvent pas
affecter l'environnement d'exécution du shell.

Les sous-shells générés pour exécuter des substitutions de commandes héritent de la valeur de -e option de
la coquille mère. Quand pas dans posix Mode, bash efface le -e option dans ces sous-shells.

Si une commande est suivie d'un & et le contrôle des tâches n'est pas actif, l'entrée standard par défaut
pour la commande est le fichier vide / dev / null. Sinon, la commande invoquée hérite du
descripteurs de fichiers du shell appelant tels que modifiés par les redirections.

ENVIRONNEMENT


Lorsqu'un programme est invoqué, il reçoit un tableau de chaînes appelé le sûr, heureux et sain. C'est
une liste de prénom-Plus-value paires, de la forme prénom=Plus-value.

Le shell fournit plusieurs façons de manipuler l'environnement. A l'invocation, le shell
scanne son propre environnement et crée un paramètre pour chaque nom trouvé, automatiquement
le marquer pour Exporter aux processus enfants. Les commandes exécutées héritent de l'environnement. le
Exporter ainsi que déclarer -x les commandes permettent d'ajouter et de supprimer des paramètres et des fonctions
de l'environnement. Si la valeur d'un paramètre de l'environnement est modifiée, le nouveau
la valeur devient une partie de l'environnement, remplaçant l'ancien. L'environnement hérité par
toute commande exécutée est constituée de l'environnement initial du shell, dont les valeurs peuvent être
modifié dans le shell, moins les paires supprimées par le unset commande, ainsi que tout ajout via
le Exporter ainsi que déclarer -x les commandes.

L'environnement pour tout simple commander ou la fonction peut être augmentée temporairement par
en le préfixant par des affectations de paramètres, comme décrit ci-dessus dans PARAMETRES. Ces
Les instructions d'affectation n'affectent que l'environnement vu par cette commande.

Si la -k l'option est définie (voir le set commande intégrée ci-dessous), puis TOUTE paramètre
les affectations sont placées dans l'environnement d'une commande, pas seulement celles qui précèdent la
nom de la commande.

Quand bash invoque une commande externe, la variable _ est défini sur le nom de fichier complet du
commande et passé à cette commande dans son environnement.

EXIT STATUT


L'état de sortie d'une commande exécutée est la valeur renvoyée par le attendre pid appel système ou
fonction équivalente. Les statuts de sortie se situent entre 0 et 255, cependant, comme expliqué ci-dessous,
le shell peut utiliser des valeurs supérieures à 125 spécialement. Statuts de sortie des shells intégrés et
les commandes composées sont également limitées à cette plage. Dans certaines circonstances, la coquille
utilisera des valeurs spéciales pour indiquer des modes de défaillance spécifiques.

Pour les besoins du shell, une commande qui se termine avec un état de sortie zéro a réussi. Une
l'état de sortie de zéro indique le succès. Un état de sortie différent de zéro indique un échec. Lorsqu'un
la commande se termine sur un signal fatal N, bash utilise la valeur de 128+N comme état de sortie.

Si une commande n'est pas trouvée, le processus fils créé pour l'exécuter renvoie un statut de
127. Si une commande est trouvée mais n'est pas exécutable, le statut de retour est 126.

Si une commande échoue en raison d'une erreur lors de l'expansion ou de la redirection, l'état de sortie est
supérieur à zéro.

Les commandes intégrées du shell renvoient un état de 0 (oui) en cas de succès, et différent de zéro (non) si
une erreur se produit lors de leur exécution. Toutes les fonctions intégrées renvoient un état de sortie de 2 pour indiquer
utilisation incorrecte.

Frapper renvoie lui-même l'état de sortie de la dernière commande exécutée, sauf erreur de syntaxe
se produit, auquel cas il se termine avec une valeur non nulle. Voir aussi le sortie commande intégrée
ci-dessous.

SIGNAUX


Quand bash est interactif, en l'absence de pièges, il ignore SIGTERME (pour que tuer 0
ne tue pas un shell interactif), et SIGINT est attrapé et manipulé (de sorte que le attendez
intégré est interruptible). Dans tous les cas, bash ne tient pas compte TELLEMENT DE. Si le contrôle des tâches est en
effet, bash ne tient pas compte SIGTIN, SIGTTOUet SIGTSTP.

Commandes non intégrées exécutées par bash avoir des gestionnaires de signaux définis sur les valeurs héritées par le
shell de son parent. Lorsque le contrôle des travaux n'est pas effectif, les commandes asynchrones ignorent
SIGINT ainsi que TELLEMENT DE en plus de ces gestionnaires hérités. Les commandes exécutées à la suite de
la substitution de commande ignore les signaux de contrôle de travail générés par le clavier SIGTIN, SIGTTOU,
ainsi que SIGTSTP.

Le shell se ferme par défaut à la réception d'un VUE D'ENSEMBLE. Avant de sortir, un shell interactif
renvoie le VUE D'ENSEMBLE à tous les travaux, en cours ou arrêtés. Les travaux arrêtés sont envoyés SUIVANT à
s'assurer qu'ils reçoivent le VUE D'ENSEMBLE. Pour empêcher le shell d'envoyer le signal à un
travail particulier, il doit être supprimé de la table des travaux avec le renier intégré (voir
SHELL BÂTI COMMANDES ci-dessous) ou marqué pour ne pas recevoir VUE D'ENSEMBLE en utilisant renier -h.

Si la huponexit l'option shell a été définie avec magasiner, bash envoie un VUE D'ENSEMBLE à tous les travaux
lorsqu'un shell de connexion interactif se ferme.

If bash attend la fin d'une commande et reçoit un signal pour lequel un déroutement a
été défini, le trap ne sera pas exécuté tant que la commande ne sera pas terminée. Lorsque bash attend
pour une commande asynchrone via le attendez intégré, la réception d'un signal pour lequel un
piège a été mis en place provoquera le attendez intégré pour revenir immédiatement avec un état de sortie
supérieur à 128, immédiatement après quoi le trap est exécuté.

JOB CONTRÔLE


Emploi des bactéries fait référence à la capacité d'arrêter de manière sélective (suspendre) l'exécution des processus
et continue (CV) leur exécution à un stade ultérieur. Un utilisateur utilise généralement ce
via une interface interactive fournie conjointement par le noyau du système d'exploitation
pilote de terminal et bash.

La coquille associe un JOB avec chaque canalisation. Il conserve une table de l'exécution en cours
emplois, qui peuvent être répertoriés avec le emplois commander. Lorsque bash démarre un travail de manière asynchrone
(dans le fond), il imprime une ligne qui ressemble à :

[1] 25647

indiquant que ce travail est le travail numéro 1 et que l'ID de processus du dernier processus dans
le pipeline associé à ce travail est 25647. Tous les processus dans un seul pipeline
sont membres du même travail. Frapper utilise l' JOB l'abstraction comme base du contrôle des tâches.

Pour faciliter la mise en œuvre de l'interface utilisateur pour le contrôle des tâches, le système d'exploitation
système maintient la notion de actuel terminal processus groupe ID. Les membres de ce
groupe de processus (processus dont l'ID de groupe de processus est égal au processus terminal actuel
ID de groupe) reçoivent des signaux générés par le clavier tels que SIGINT. On dit que ces processus
être dans le premier plan. Contexte les processus sont ceux dont l'ID de groupe de processus diffère de
celui du terminal ; ces processus sont insensibles aux signaux générés par le clavier. Uniquement au premier plan
les processus sont autorisés à lire depuis ou, si l'utilisateur le spécifie avec stty tostop, à écrire dans
le terminal. Processus d'arrière-plan qui tentent de lire à partir de (écrire vers quand stty tostop
est en vigueur) le terminal reçoit un SIGTIN (SIGTTOU) signal par le terminal du noyau
conducteur, qui, à moins d'être intercepté, suspend le processus.

Si le système d'exploitation sur lequel bash est en cours d'exécution prend en charge le contrôle des tâches, bash contient
facilités pour l'utiliser. Taper le suspendre caractère (généralement ^Z, Contrôle-Z) tandis qu'un
processus est en cours d'exécution provoque l'arrêt de ce processus et rend le contrôle à bash. Dactylographie
le en retard suspendre caractère (généralement ^Y, Control-Y) provoque l'arrêt du processus
lorsqu'il tente de lire l'entrée du terminal, et le contrôle doit être renvoyé à bashL’
l'utilisateur peut alors manipuler l'état de ce travail, en utilisant le bg commande de continuer dans le
fond, le fg commande de continuer au premier plan, ou la tuer ordre de tuer
il. UNE ^Z prend effet immédiatement et a pour effet secondaire supplémentaire de provoquer
sortie et typeahead à supprimer.

Il existe plusieurs façons de faire référence à un travail dans le shell. Le personnage % introduit un
description de poste (spécification de l'emploi). Numéro de travail n peut être appelé %n. Un travail peut aussi être
fait référence à l'aide d'un préfixe du nom utilisé pour le démarrer, ou à l'aide d'une sous-chaîne qui apparaît
dans sa ligne de commande. Par example, %ce fait référence à un arrêt ce travail. Si un préfixe correspond
plus d'un emploi, bash signale une erreur. Utilisant %?ce, d'autre part, fait référence à tout
tâche contenant la chaîne ce dans sa ligne de commande. Si la sous-chaîne correspond à plusieurs
emploi, bash signale une erreur. Les symboles %% ainsi que %+ se référer à la notion du shell du
actuel JOB, qui est le dernier travail arrêté alors qu'il était au premier plan ou démarré dans
l'arrière-plan. le précédent JOB peut être référencé en utilisant %-. S'il n'y a qu'un seul
emploi, %+ ainsi que %- peuvent tous deux être utilisés pour désigner ce travail. Dans les extrants relatifs aux emplois (par exemple,
la sortie du emplois commande), le travail en cours est toujours signalé par un +, et le
emploi précédent avec un -. Un seul % (sans spécification de travail associée) fait également référence à
l'emploi actuel.

Le simple fait de nommer un travail peut être utilisé pour le mettre au premier plan : %1 est synonyme de ``fg
%1'', faisant passer le travail 1 de l'arrière-plan au premier plan. De la même manière, ``%1 &''
emploi 1 en arrière-plan, équivalent à `` bg %1''.

Le shell apprend immédiatement chaque fois qu'un travail change d'état. Normalement, bash attend qu'il
est sur le point d'imprimer une invite avant de signaler les changements dans l'état d'un travail afin de ne pas
interrompre toute autre sortie. Si la -b option à la set la commande intégrée est activée, bash
signale immédiatement de tels changements. Tout piège sur SIGCHLD est exécuté pour chaque enfant qui
sorties.

Si une tentative de sortie bash est effectuée pendant que les travaux sont arrêtés (ou, si le chèques coquille
l'option a été activée à l'aide de la magasiner intégré, en cours d'exécution), le shell affiche un avertissement
message et, si le chèques est activée, répertorie les travaux et leurs statuts. le
emplois La commande peut alors être utilisée pour inspecter leur état. Si une deuxième tentative de sortie est
fait sans une commande intermédiaire, le shell n'affiche pas un autre avertissement, et tout
les travaux arrêtés sont terminés.

INVITATION


Lors de l'exécution interactive, bash affiche l'invite principale PS1 quand il est prêt à
lire une commande et l'invite secondaire PS2 quand il a besoin de plus d'entrée pour terminer un
commander. Frapper permet de personnaliser ces chaînes d'invite en insérant un certain nombre de
caractères spéciaux échappés par une barre oblique inverse qui sont décodés comme suit :
\a un caractère cloche ASCII (07)
\d la date au format « Date du mois du jour de la semaine » (par exemple, « Mar 26 mai »)
\RÉ{le format}
le le format est transmis à strftime(3) et le résultat est inséré dans le
chaîne d'invite ; un vide le format entraîne une heure spécifique à la région
représentation. Les accolades sont nécessaires
\e un caractère d'échappement ASCII (033)
\h le nom d'hôte jusqu'au premier `.'
\H le nom d'hôte
\j le nombre de jobs actuellement gérés par le shell
\l le nom de base du nom du terminal du shell
\n nouvelle ligne
\r retour chariot
\s le nom du shell, le nom de base de $0 (la portion suivant la finale
sabrer)
\t l'heure actuelle au format 24 heures HH:MM:SS
\T l'heure actuelle au format 12 heures HH:MM:SS
\@ l'heure actuelle au format 12 heures am/pm
\A l'heure actuelle au format 24 heures HH:MM
\u le nom d'utilisateur de l'utilisateur actuel
\v la version de bash (par exemple, 2.00)
\V La libération de bash, version + niveau de correctif (par exemple, 2.00.0)
\w le répertoire de travail courant, avec $ ACCUEIL abrégé par un tilde (utilise le
valeur de la PROMPT_DIRTRIM variable)
\W le nom de base du répertoire de travail courant, avec $ ACCUEIL abrégé par un
tilde
\! le numéro d'historique de cette commande
\# le numéro de commande de cette commande
\$ si l'UID effectif est 0, un #, sinon un $
\nnn le caractère correspondant au nombre octal nnn
\\ une barre oblique inverse
\[ commencer une séquence de caractères non imprimables, qui pourraient être utilisés pour incorporer un
séquence de contrôle du terminal dans l'invite
\] terminer une séquence de caractères non imprimables

Le numéro de commande et le numéro d'historique sont généralement différents : le numéro d'historique d'un
commande est sa position dans la liste d'historique, qui peut inclure des commandes restaurées à partir du
fichier historique (voir HISTOIRE ci-dessous), tandis que le numéro de commande est la position dans la séquence
des commandes exécutées pendant la session shell en cours. Une fois la chaîne décodée, elle est
développé via le développement de paramètres, la substitution de commandes, le développement arithmétique et les guillemets
l'enlèvement, sous réserve de la valeur de la variables d'invite option shell (voir la description du
magasiner commande sous SHELL BÂTI COMMANDES ci-dessous).

LIRE LA LIGNE


C'est la bibliothèque qui gère la lecture des entrées lors de l'utilisation d'un shell interactif, à moins que le
--pas de modification L'option est donnée à l'invocation du shell. L'édition de ligne est également utilisée lors de l'utilisation du
-e option à la lire intégré. Par défaut, les commandes d'édition de ligne sont similaires à celles
d'Emacs. Une interface d'édition de ligne de style vi est également disponible. L'édition de ligne peut être
activé à tout moment à l'aide du -o emacs or -o vi options à la set intégré (voir SHELL
BÂTI COMMANDES au dessous de). Pour désactiver l'édition de ligne après l'exécution du shell, utilisez le +o
emacs or +o vi options à la set intégré.

readline Notation
Dans cette section, la notation de style Emacs est utilisée pour désigner les frappes. Les touches de contrôle sont
noté C-key, par exemple, Cn signifie Contrôle-N. De la même manière, objectif les touches sont désignées par M-key,
donc Mx signifie Meta-X. (Sur les claviers sans objectif clé, M-x signifie ESC x, c'est-à-dire appuyer sur la
la touche Echap puis la x clé. Cela fait de l'ESC le objectif préfixe. La combinaison MC-x veux dire
ESC-Contrôle-x, ou appuyez sur la touche Échap puis maintenez la touche Contrôle enfoncée tout en appuyant sur la x
clé.)

Les commandes Readline peuvent être numériques arguments, qui agit normalement comme un compte de répétition.
Parfois, cependant, c'est le signe de l'argument qui est significatif. Passer un
argument négatif à une commande qui agit dans le sens direct (par exemple, ligne de mort) cause
cette commande d'agir vers l'arrière. Commandes dont le comportement avec des arguments
s'en écarte sont indiqués ci-dessous.

Lorsqu'une commande est décrite comme meurtre texte, le texte supprimé est enregistré pour un futur éventuel
récupération (arrachant). Le texte tué est enregistré dans un tuer bague. Cause de meurtres consécutifs
le texte à accumuler en une seule unité, qui peut être extraite d'un coup sec. Des commandes qui
ne pas tuer le texte sépare les morceaux de texte sur le kill ring.

readline Initialisation
Readline est personnalisé en plaçant des commandes dans un fichier d'initialisation (le entréerc fichier).
Le nom de ce fichier est tiré de la valeur du ENTRÉE variable. Si cette variable
n'est pas défini, la valeur par défaut est ~ / .inputrc. Lorsqu'un programme utilisant la bibliothèque readline
démarre, le fichier d'initialisation est lu et les raccourcis clavier et les variables sont définis.
Il n'y a que quelques constructions de base autorisées dans le fichier d'initialisation readline. Vierge
les lignes sont ignorées. Les lignes commençant par un # sont des commentaires. Les lignes commençant par un $
indiquer des constructions conditionnelles. D'autres lignes indiquent les raccourcis clavier et les paramètres variables.

Les raccourcis clavier par défaut peuvent être modifiés avec un entréerc déposer. D'autres programmes qui utilisent
cette bibliothèque peut ajouter ses propres commandes et liaisons.

Par exemple, placer

M-Control-u : argument universel
or
C-Meta-u : argument universel
into the entréerc ferait que MCu exécute la commande readline argument-universel.

Les noms de caractères symboliques suivants sont reconnus : EFFACER, DEL, ESC, LFD, NOUVELLE LIGNE,
RET, RETOUR, CPS, SPACEet TAB.

En plus des noms de commande, readline permet de lier les clés à une chaîne qui est
inséré lorsque la touche est enfoncée (un macro).

readline clés / KEY : fixations
La syntaxe pour contrôler les raccourcis clavier dans le entréerc le fichier est simple. Tout cela est
requis est le nom de la commande ou le texte d'une macro et une séquence de touches à laquelle il
devrait être lié. Le nom peut être spécifié de l'une des deux manières suivantes : en tant que nom de clé symbolique,
éventuellement avec Méta- or Contrôle- préfixes ou sous forme de séquence de touches.

Lors de l'utilisation du formulaire nom de clé:nom-fonction or macro, nom de clé est le nom d'une clé orthographié
en anglais. Par example:

Control-u : argument universel
Méta-Rubout : mot tueur à rebours
Control-o : "> sortie"

Dans l'exemple ci-dessus, Cu est lié à la fonction argument-universel, M-SUPPR est lié à
la fonction mot-mort-arrièreet Co est obligé d'exécuter la macro exprimée à droite
côté main (c'est-à-dire pour insérer le texte ``> output'' dans la ligne).

Dans la seconde forme, "keyseq":nom-fonction or macro, séquence de touches diffère de nom de clé ci-dessus dans
que les chaînes désignant une séquence de touches entière peuvent être spécifiées en plaçant la séquence
entre guillemets doubles. Certaines touches d'échappement de style GNU Emacs peuvent être utilisées, comme dans ce qui suit
exemple, mais les noms de caractères symboliques ne sont pas reconnus.

"\Cu": argument-universel
"\Cx\Cr": re-read-init-file
"\e[11~": "Touche de fonction 1"

Dans cet exemple, Cu est à nouveau lié à la fonction argument-universel. Cx Cr est attaché
à la fonction relire le fichier d'initialisationet ESC [ 1 1 ~ est obligé d'insérer le texte ``Fonction
Clé 1''.

L'ensemble complet des séquences d'échappement de style GNU Emacs est
\C- préfixe de contrôle
\M- méta préfixe
\e un caractère d'échappement
\\ barre oblique inverse
\" littéral "
\' littéral '

En plus des séquences d'échappement de style GNU Emacs, un deuxième ensemble d'échappements antislash est
disponible:
\a alerte (cloche)
\b backspace
\d effacer
\f flux de formulaire
\n nouvelle ligne
\r retour chariot
\t onglet horizontal
\v onglet vertical
\nnn le caractère de huit bits dont la valeur est la valeur octale nnn (un à trois
chiffres)
\xHH le caractère de huit bits dont la valeur est la valeur hexadécimale HH (un ou deux
chiffres hexadécimaux)

Lors de la saisie du texte d'une macro, des guillemets simples ou doubles doivent être utilisés pour indiquer un
définition des macros. Le texte sans guillemets est supposé être un nom de fonction. Dans le corps macro, le
les échappements antislash décrits ci-dessus sont développés. La barre oblique inverse cite tout autre caractère
dans le texte de la macro, y compris " et '.

Frapper permet d'afficher ou de modifier les raccourcis clavier actuels de readline avec le lier
commande intégrée. Le mode d'édition peut être commuté pendant l'utilisation interactive en utilisant le -o
option à la set commande intégrée (voir SHELL BÂTI COMMANDES ci-dessous).

readline Variables
Readline a des variables qui peuvent être utilisées pour personnaliser davantage son comportement. Une variable peut
être mis dans le entréerc dossier avec une déclaration de la forme

set Nom de variable Plus-value

Sauf indication contraire, les variables readline peuvent prendre les valeurs On or de (sans égard à
Cas). Les noms de variables non reconnus sont ignorés. Lorsqu'une valeur de variable est lue, vide ou
les valeurs nulles, "on" (insensible à la casse) et "1" sont équivalents à On. Toutes les autres valeurs sont
équivalente à de. Les variables et leurs valeurs par défaut sont :

en forme de cloche (audible)
Contrôle ce qui se passe lorsque readline veut sonner la cloche du terminal. Si réglé sur
aucun, readline ne sonne jamais la cloche. Si réglé sur visible, readline utilise un visible
cloche s'il y en a une disponible. Si réglé sur audible, readline tente d'appeler le
la cloche du terminal.
bind-tty-caractères spéciaux (Sur)
Si la valeur On, readline tente de lier les caractères de contrôle traités spécialement par
le pilote de terminal du noyau à leurs équivalents readline.
statistiques-colorées (Désactivé)
Si la valeur On, readline affiche les complétions possibles en utilisant différentes couleurs pour
indiquer leur type de fichier. Les définitions de couleur sont tirées de la valeur de la
LS_COLORS variable d'environnement.
commenter-commencer (``#'')
La chaîne qui est insérée lorsque la ligne de lecture insérer-commentaire la commande est exécutée.
Cette commande est liée à M-# en mode emacs et à # en mode commande vi.
achèvement-ignorer-casse (Désactivé)
Si la valeur On, readline effectue la correspondance et la complétion des noms de fichiers dans un
mode insensible à la casse.
achèvement-préfixe-affichage-longueur (0)
La longueur en caractères du préfixe commun d'une liste de complétions possibles
qui s'affiche sans modification. Lorsqu'il est défini sur une valeur supérieure à zéro,
les préfixes communs plus longs que cette valeur sont remplacés par des points de suspension lorsque
afficher les complétions possibles.
achèvement-requête-éléments (100)
Cela détermine quand l'utilisateur est interrogé sur l'affichage du nombre de
complétions générées par le achèvements-possibles commander. Il peut être réglé sur n'importe quel
valeur entière supérieure ou égale à zéro. Si le nombre de complétions possibles
est supérieur ou égal à la valeur de cette variable, il est demandé à l'utilisateur si
ou non, il souhaite les voir ; sinon, ils sont simplement répertoriés sur le terminal.
convertir-méta (Sur)
Si la valeur On, readline convertira les caractères avec le huitième bit défini en ASCII
séquence de touches en supprimant le huitième bit et en préfixant un caractère d'échappement (en
effet, en utilisant l'évasion comme objectif préfixe).
désactiver-achèvement (Désactivé)
Si la valeur On, readline empêchera la complétion des mots. Les caractères d'achèvement seront
insérés dans la ligne comme s'ils avaient été mappés sur auto-insertion.
mode d'édition (emacs)
Contrôle si readline commence par un ensemble de raccourcis clavier similaires à Emacs or vi.
mode d'édition peut être réglé sur emacs or vi.
caractères de contrôle d'écho (Sur)
Lorsqu'il est configuré pour On, sur les systèmes d'exploitation qui indiquent qu'ils le prennent en charge, readline fait écho
un caractère correspondant à un signal généré à partir du clavier.
activer-clavier (Désactivé)
Lorsqu'il est configuré pour On, readline essaiera d'activer le clavier de l'application lorsqu'il est
appelé. Certains systèmes en ont besoin pour activer les touches fléchées.
activer-méta-clé (Sur)
Lorsqu'il est configuré pour On, readline essaiera d'activer n'importe quelle touche de modification méta du terminal
prétend soutenir lorsqu'il est appelé. Sur de nombreux terminaux, la clé méta est utilisée pour
envoyer des caractères de huit bits.
développer-tilde (Désactivé)
Si la valeur On, l'expansion du tilde est effectuée lorsque readline tente de compléter le mot.
histoire-preserve-point (Désactivé)
Si la valeur On, le code d'historique tente de placer le point au même endroit sur chaque
ligne d'historique récupérée avec histoire-antérieure or histoire-prochaine.
historique-taille (0)
Définissez le nombre maximum d'entrées d'historique enregistrées dans la liste d'historique. Si réglé sur
zéro, toutes les entrées d'historique existantes sont supprimées et aucune nouvelle entrée n'est enregistrée. Si
défini sur une valeur inférieure à zéro, le nombre d'entrées d'historique n'est pas limité. Par
par défaut, le nombre d'entrées d'historique n'est pas limité.
mode de défilement horizontal (Désactivé)
Lorsqu'il est configuré pour On, fait en sorte que readline utilise une seule ligne pour l'affichage, en faisant défiler l'entrée
horizontalement sur une seule ligne d'écran lorsqu'elle devient plus longue que la largeur de l'écran
plutôt que de passer à une nouvelle ligne.
entrée-méta (Désactivé)
Si la valeur On, readline activera l'entrée à huit bits (c'est-à-dire qu'il ne supprimera pas le
peu élevé des caractères qu'il lit), indépendamment de ce que le terminal le prétend
peut soutenir. Le nom méta-drapeau est un synonyme de cette variable.
isearch-terminateurs (``C-[C-J'')
La chaîne de caractères qui doit terminer une recherche incrémentielle sans
exécutant ensuite le caractère en tant que commande. Si cette variable n'a pas été
étant donné une valeur, les caractères ESC ainsi que CJ terminera une recherche incrémentielle.
carte du clavier (emacs)
Définissez le mappage de touches readline actuel. L'ensemble des noms de keymap valides est emac,
norme emacs, emacs-méta, emacs-ctlx, vous, commande viet vi-insérer. vi is
équivalente à commande vi; emacs équivaut à norme emacs. La valeur par défaut
is emacs; la valeur de mode d'édition affecte également le clavier par défaut.
keyseq-timeout (500)
Spécifie la durée readline attendra un caractère lors de la lecture d'une ambiguïté
séquence de touches (une qui peut former une séquence de touches complète en utilisant l'entrée read donc
loin, ou peut prendre une entrée supplémentaire pour terminer une séquence de touches plus longue). Si aucune entrée
est reçu dans le délai imparti, readline utilisera la clé plus courte mais complète
séquence. La valeur est spécifiée en millisecondes, donc une valeur de 1000 signifie que
readline attendra une seconde pour une entrée supplémentaire. Si cette variable est définie sur un
valeur inférieure ou égale à zéro, ou à une valeur non numérique, readline attendra
jusqu'à ce qu'une autre touche soit enfoncée pour décider quelle séquence de touches terminer.
marque-répertoires (Sur)
Si la valeur On, les noms de répertoire complétés sont suivis d'une barre oblique.
marque-lignes-modifiées (Désactivé)
Si la valeur On, les lignes d'historique qui ont été modifiées sont affichées précédées d'un
astérisque (*).
Mark-symlinked-directories (Désactivé)
Si la valeur On, les noms complets qui sont des liens symboliques vers des répertoires ont une barre oblique
en annexe (sous réserve de la valeur de marque-répertoires).
correspondance-fichiers-cachés (Sur)
Cette variable, lorsqu'elle est définie sur On, fait correspondre readline aux fichiers dont les noms commencent
avec un `.' (fichiers cachés) lors de la complétion du nom de fichier. Si réglé sur de,
en tête `.' doit être fourni par l'utilisateur dans le nom de fichier à compléter.
menu-complet-display-prefix (Désactivé)
Si la valeur On, la complétion du menu affiche le préfixe commun de la liste des
complétions (qui peuvent être vides) avant de parcourir la liste.
sortie-méta (Désactivé)
Si la valeur On, readline affichera les caractères avec le huitième bit défini directement
plutôt que comme une séquence d'échappement méta-préfixée.
pages-complétions (Sur)
Si la valeur On, readline utilise un PLUS-comme un téléavertisseur pour afficher un écran plein de
achèvements possibles à la fois.
impression-achèvements-horizontalement (Désactivé)
Si la valeur On, readline affichera les complétions avec des correspondances triées horizontalement dans
ordre alphabétique, plutôt que vers le bas de l'écran.
revenir-tout-à-nouvelle-ligne (Désactivé)
Si la valeur On, readline annulera toutes les modifications apportées aux lignes de l'historique avant de revenir lorsque
ligne d'acceptation est exécuté. Par défaut, les lignes d'historique peuvent être modifiées et conservées
listes d'annulation individuelles à travers les appels à readline.
montrer-tout-si-ambigu (Désactivé)
Cela modifie le comportement par défaut des fonctions de complétion. Si réglé sur On, mots
qui ont plus d'un achèvement possible provoquent l'affichage des correspondances
immédiatement au lieu de sonner.
afficher-tout-si-non-modifié (Désactivé)
Cela modifie le comportement par défaut des fonctions de complétion d'une manière similaire
à montrer-tout-si-ambigu. Si réglé sur On, mots qui ont plus d'un possible
complétion sans complétion partielle possible (les complétions possibles ne
partagent un préfixe commun) entraînent l'affichage immédiat des correspondances au lieu de
sonner la cloche.
afficher-mode-en-invite (Désactivé)
Si la valeur On, ajoutez un caractère au début de l'invite indiquant l'édition
mode : emacs (@), commande vi (:) ou insertion vi (+).
sauter-le-texte-complété (Désactivé)
Si la valeur On, cela modifie le comportement de complétion par défaut lors de l'insertion d'un seul
correspondre dans la ligne. Il n'est actif que lors de l'exécution de l'achèvement au milieu de
un mot. Si activé, readline n'insère pas les caractères de la complétion qui
faire correspondre les caractères après le point dans le mot en train d'être complété, donc des parties du mot
suivant le curseur ne sont pas dupliqués.
statistiques-visibles (Désactivé)
Si la valeur On, un caractère désignant le type d'un fichier tel que rapporté par état(2) est annexé
au nom de fichier lors de la liste des complétions possibles.

readline Conditionnel Construit
Readline implémente une fonctionnalité similaire dans l'esprit aux fonctionnalités de compilation conditionnelle
du préprocesseur C qui permet d'effectuer des raccourcis clavier et des réglages de variables comme
le résultat des tests. Quatre directives d'analyseur syntaxique sont utilisées.

$ si La $ si permet d'effectuer des liaisons en fonction du mode d'édition, le
terminal utilisé, ou l'application utilisant readline. Le texte de l'épreuve
s'étend jusqu'à la fin de la ligne ; aucun caractère n'est requis pour l'isoler.

mode La mode= forme de la $ si La directive est utilisée pour tester si readline est dans
emacs ou en mode vi. Ceci peut être utilisé en conjonction avec le set carte du clavier
commande, par exemple, pour définir des liaisons dans le norme emacs ainsi que emacs-ctlx
keymaps uniquement si readline démarre en mode emacs.

terme La terme = le formulaire peut être utilisé pour inclure des raccourcis clavier spécifiques au terminal,
peut-être pour lier les séquences de touches sorties par les touches de fonction du terminal.
Le mot à droite du = est testé par rapport au nom complet de
le terminal et la partie du nom du terminal avant le premier -. Ce
permet soleil faire correspondre les deux soleil ainsi que soleil-cmd, Par exemple.

application
La application construct est utilisé pour inclure des paramètres spécifiques à l'application.
Chaque programme utilisant la bibliothèque readline définit le application prénomEt un
Le fichier d'initialisation peut tester une valeur particulière. Cela pourrait être utilisé pour
lier des séquences de touches à des fonctions utiles pour un programme spécifique. Pour
instance, la commande suivante ajoute une séquence de touches qui cite le courant
ou mot précédent dans bash:

$ si Frapper
# Citer le mot actuel ou précédent
"\C-xq": "\eb\"\ef\""
$endif

$endif Cette commande, comme vu dans l'exemple précédent, termine un $ si commander.

$autre Les commandes de cette branche du $ si directive sont exécutées si le test échoue.

$inclure
Cette directive prend un seul nom de fichier comme argument et lit les commandes et
liaisons de ce fichier. Par exemple, la directive suivante se lirait
/etc/inputrc:

$inclure /etc/inputrc

Recherche
Readline fournit des commandes pour rechercher dans l'historique des commandes (voir HISTOIRE ci-dessous)
pour les lignes contenant une chaîne spécifiée. Il existe deux modes de recherche : incrémental ainsi que non-
incrémental.

Les recherches incrémentielles commencent avant que l'utilisateur n'ait fini de taper la chaîne de recherche. Comme chacun
caractère de la chaîne de recherche est tapé, readline affiche la prochaine entrée de l'historique
correspondant à la chaîne tapée jusqu'à présent. Une recherche incrémentale ne nécessite qu'autant de caractères
au besoin pour trouver l'entrée d'historique souhaitée. Les caractères présents dans la valeur du
isearch-terminateurs sont utilisées pour terminer une recherche incrémentielle. Si ce
la variable n'a pas reçu de valeur, les caractères Escape et Control-J se termineront
une recherche incrémentale. Control-G annulera une recherche incrémentielle et restaurera le
ligne d'origine. Lorsque la recherche est terminée, l'entrée d'historique contenant la recherche
string devient la ligne courante.

Pour trouver d'autres entrées correspondantes dans la liste d'historique, tapez Control-S ou Control-R comme
approprié. Cela recherchera en arrière ou en avant dans l'historique pour la prochaine entrée
correspondant à la chaîne de recherche tapée jusqu'à présent. Toute autre séquence de touches liée à une ligne de lecture
La commande terminera la recherche et exécutera cette commande. Par exemple, un nouvelle ligne sera
terminer la recherche et accepter la ligne, exécutant ainsi la commande de l'historique
liste.

Readline mémorise la dernière chaîne de recherche incrémentielle. Si deux Control-R sont tapés
sans aucun caractère intermédiaire définissant une nouvelle chaîne de recherche, toute recherche mémorisée
la chaîne est utilisée.

Les recherches non incrémentielles lisent l'intégralité de la chaîne de recherche avant de commencer à rechercher
correspondance des lignes de l'histoire. La chaîne de recherche peut être saisie par l'utilisateur ou faire partie du
contenu de la ligne courante.

readline Command Des noms
Ce qui suit est une liste des noms des commandes et des séquences de touches par défaut à
laquelle ils sont liés. Les noms de commande sans séquence de touches correspondante ne sont pas liés par
défaut. Dans les descriptions suivantes, point fait référence à la position actuelle du curseur, et
marque fait référence à une position de curseur enregistrée par le repère commander. Le texte entre le
le point et la marque est appelé le région.

Commandes en En mouvement
début de ligne (Californie)
Aller au début de la ligne courante.
fin de ligne (Ce)
Aller à la fin de la ligne.
avant-char (Cf)
Avancer d'un personnage.
caractère-arrière (Cb)
Recule d'un personnage.
avant-mot (Mf)
Avancez jusqu'à la fin du mot suivant. Les mots sont composés de caractères alphanumériques
caractères (lettres et chiffres).
mot-arrière (Mo)
Revenir au début du mot actuel ou précédent. Les mots sont composés de
caractères alphanumériques (lettres et chiffres).
shell-avant-mot
Avancez jusqu'à la fin du mot suivant. Les mots sont délimités par un shell non guillemet
métacaractères.
mot-shell-à l'envers
Revenir au début du mot actuel ou précédent. Les mots sont délimités par
métacaractères shell non guillemets.
écran propre (Cl)
Effacer l'écran en laissant la ligne actuelle en haut de l'écran. Avec un
argument, actualiser la ligne actuelle sans effacer l'écran.
redessiner-ligne-courante
Rafraîchir la ligne actuelle.

Commandes en Manipuler le HISTOIRE
ligne d'acceptation (Nouvelle ligne, Retourner)
Acceptez la ligne quel que soit l'emplacement du curseur. Si cette ligne n'est pas vide, ajoutez
à la liste d'historique en fonction de l'état du CONTRÔLEHIST variable. Si la
la ligne est une ligne d'historique modifiée, puis restaurez la ligne d'historique à son origine
Etat.
histoire-antérieure (Cp)
Récupérez la commande précédente dans la liste d'historique, en revenant dans la liste.
histoire-prochaine (Cn)
Récupérez la commande suivante dans la liste d'historique, en avançant dans la liste.
début-de-l'histoire (M-<)
Passer à la première ligne de l'historique.
fin de l'histoire (M->)
Aller à la fin de l'historique de saisie, c'est-à-dire à la ligne en cours de saisie.
recherche-inverse-historique (Cr)
Recherche en arrière en commençant à la ligne actuelle et en remontant dans l'historique au fur et à mesure
nécessaire. Il s'agit d'une recherche incrémentale.
historique-de-recherche-avance (Cs)
Recherche vers l'avant en commençant par la ligne actuelle et en se déplaçant « vers le bas » dans l'historique
le cas échéant. Il s'agit d'une recherche incrémentale.
historique-de-recherche-inverse-non-incrémental (Député)
Effectuez une recherche en arrière dans l'historique en commençant à la ligne actuelle à l'aide d'un non-
recherche incrémentale d'une chaîne fournie par l'utilisateur.
historique-de-recherche-avance-non-incrémentielle (Mn)
Recherche vers l'avant dans l'historique à l'aide d'une recherche non incrémentielle d'une chaîne
fourni par l'utilisateur.
historique-recherche-avant
Recherche vers l'avant dans l'historique de la chaîne de caractères entre le début
de la ligne courante et du point. Il s'agit d'une recherche non incrémentielle.
historique-recherche-en arrière
Recherche en arrière dans l'historique de la chaîne de caractères entre le début
de la ligne courante et du point. Il s'agit d'une recherche non incrémentielle.
tirer-nième-arg (MCy)
Insérez le premier argument de la commande précédente (généralement le deuxième mot sur le
ligne précédente) au point. Avec un argument n, insérez le nème mot du précédent
commande (les mots de la commande précédente commencent par le mot 0). Un argument négatif
insère le nème mot à partir de la fin de la commande précédente. Une fois l'argument n is
calculé, l'argument est extrait comme si le "!n" l'expansion de l'histoire avait été
spécifié.
tirer-dernier-arg (M-., M-_)
Insérez le dernier argument de la commande précédente (le dernier mot de la commande précédente
entrée de l'historique). Avec un argument numérique, se comporter exactement comme tirer-nième-arg.
Appels successifs à tirer-dernier-arg revenir en arrière dans la liste de l'historique, en insérant le
dernier mot (ou le mot spécifié par l'argument du premier appel) de chaque ligne de
tour. Tout argument numérique fourni à ces appels successifs détermine le
direction pour parcourir l'histoire. Un argument négatif change la direction
à travers l'historique (en arrière ou en avant). Les installations d'expansion de l'histoire sont utilisées
pour extraire le dernier mot, comme si le développement de l'historique "!$" avait été spécifié.
coque-développer-ligne (MCe)
Développez la ligne comme le fait le shell. Ceci effectue l'expansion d'alias et d'historique comme
ainsi que toutes les extensions de mots shell. Voir HISTOIRE EXPANSION ci-dessous pour un
description de l'expansion de l'histoire.
histoire-déplier-ligne (M-^)
Exécute l'expansion de l'historique sur la ligne actuelle. Voir HISTOIRE EXPANSION ci-dessous pour un
description de l'expansion de l'histoire.
espace-magique
Effectuez l'expansion de l'historique sur la ligne actuelle et insérez un espace. Voir HISTOIRE
EXPANSION ci-dessous pour une description de l'expansion de l'historique.
alias-développer-ligne
Effectue une extension d'alias sur la ligne courante. Voir ALIASES ci-dessus pour une description
d'extension d'alias.
histoire-et-alias-expand-line
Effectue l'expansion de l'historique et des alias sur la ligne actuelle.
insérer-dernier-argument (M-., M-_)
Un synonyme de tirer-dernier-arg.
opérer-et-obtenir-suivant (Co)
Accepte la ligne courante pour exécution et récupère la ligne suivante par rapport au
ligne actuelle de l'historique pour édition. Tout argument est ignoré.
éditer-et-exécuter-commande (C-xC-e)
Appelez un éditeur sur la ligne de commande actuelle et exécutez le résultat en tant que shell
les commandes. Frapper tente d'invoquer $VISUEL, $ EDITEURet emacs en tant qu'éditeur, dans
cet ordre.

Commandes en Changer Texte
fin de fichier (Généralement CD)
Le caractère indiquant la fin du fichier tel que défini, par exemple, par ``stty''. Si ce
le caractère est lu lorsqu'il n'y a pas de caractères sur la ligne et que le point est au
début de la ligne, Readline l'interprète comme la fin de l'entrée et renvoie EOF.
supprimer-char (CD)
Supprimez le caractère au point. Si cette fonction est liée au même caractère que
le tty EOF caractère, comme CD est généralement, voir ci-dessus pour les effets.
back-delete-char (Effacer)
Supprimez le caractère derrière le curseur. Lorsqu'un argument numérique est donné, enregistrez le
texte supprimé sur le kill ring.
avant-arrière-delete-char
Supprimer le caractère sous le curseur, sauf si le curseur est en fin de ligne,
auquel cas le caractère derrière le curseur est supprimé.
citation-insert (Cq, CV)
Ajoutez le caractère suivant tapé à la ligne textuellement. Voici comment insérer
des personnages comme Cq, Par exemple.
tabulation (CV LANGUETTE)
Insérez un caractère de tabulation.
auto-insertion (une, b, A, 1, !, ...)
Insérez le caractère tapé.
transposer les caractères (Ct)
Faites glisser le caractère avant le point vers l'avant sur le caractère au point, en déplaçant le point
en avant aussi. Si le point est à la fin de la ligne, alors cela transpose les deux
caractères avant le point. Les arguments négatifs n'ont aucun effet.
transposer-mots (Mont)
Faites glisser le mot avant le point après le mot après le point, en déplaçant le point sur ce mot
également. Si le point est en fin de ligne, cela transpose les deux derniers mots sur
la ligne.
mot-majuscule (Mu)
Le mot courant (ou suivant) en majuscule. Avec un argument négatif, majuscule le
mot précédent, mais ne déplace pas le point.
mot-downcase (Ml)
Le mot courant (ou suivant) en minuscules. Avec un argument négatif, mettez en minuscules
mot précédent, mais ne déplace pas le point.
mot-majuscule (Mc)
Mettre en majuscule le mot courant (ou suivant). Avec un argument négatif, capitalisez
le mot précédent, mais ne déplace pas le point.
mode écrasement
Basculer en mode écrasement. Avec un argument numérique positif explicite, passe à
mode écrasement. Avec un argument numérique explicite non positif, bascule pour insérer
mode. Cette commande n'affecte que emacs mode; vi le mode écrase différemment.
Chaque appel à lire la ligne() démarre en mode insertion. En mode écrasement, les caractères liés
à auto-insertion remplacer le texte au point plutôt que de pousser le texte vers la droite.
Personnages liés à back-delete-char remplacer le caractère avant le point par un
espace. Par défaut, cette commande n'est pas liée.

Meurtre ainsi que Tirer d'un coup sec
ligne de mort (Ck)
Tuez le texte du point à la fin de la ligne.
en arrière-kill-line (Cx Effacer)
Tuez en arrière jusqu'au début de la ligne.
rejet de ligne unix (Cu)
Tuez en arrière du point au début de la ligne. Le texte tué est enregistré sur
l'anneau de mise à mort.
tuer-toute-ligne
Tuez tous les personnages sur la ligne actuelle, peu importe où se trouve le point.
mot de passe (Maryland)
Tuer du point à la fin du mot courant, ou si entre les mots, à la fin du
le mot suivant. Les limites des mots sont les mêmes que celles utilisées par avant-mot.
mot-mort-arrière (M-Rubout)
Tuez le mot derrière le point. Les limites des mots sont les mêmes que celles utilisées par
mot-arrière.
shell-kill-mot (Maryland)
Tuer du point à la fin du mot courant, ou si entre les mots, à la fin du
le mot suivant. Les limites des mots sont les mêmes que celles utilisées par shell-avant-mot.
shell-backward-kill-mot (M-Rubout)
Tuez le mot derrière le point. Les limites des mots sont les mêmes que celles utilisées par
mot-shell-à l'envers.
mot-unix-rubout (Cw)
Tuez le mot derrière le point, en utilisant un espace blanc comme limite de mot. Le texte tué
est enregistré sur le kill-ring.
nom-de-fichier-unix-rubout
Tuez le mot derrière le point, en utilisant l'espace blanc et la barre oblique comme mot
les frontières. Le texte tué est enregistré sur le kill-ring.
supprimer-espace-horizontal (M-\)
Supprimez tous les espaces et tabulations autour du point.
kill-région
Tuez le texte dans la région actuelle.
copier-région-comme-tuer
Copiez le texte de la région dans le tampon d'élimination.
mot à recopier
Copiez le mot avant de pointer vers le kill buffer. Les limites des mots sont les mêmes que
mot-arrière.
mot à copier
Copiez le mot suivant le point dans le kill buffer. Les limites des mots sont les mêmes
as avant-mot.
coup sec (Cy)
Tirez le haut du kill ring dans le tampon au point.
arracher-pop (Mon)
Faites pivoter l'anneau de mise à mort et tirez sur le nouveau sommet. Ne fonctionne qu'après coup sec or arracher-pop.

Numérique Arguments
argument-chiffre (M-0, M-1, ..., M--)
Ajoutez ce chiffre à l'argument déjà accumulé ou démarrez un nouvel argument. M--
lance un argument négatif.
argument-universel
C'est une autre façon de spécifier un argument. Si cette commande est suivie d'un ou
plus de chiffres, éventuellement avec un signe moins au début, ces chiffres définissent le
argument. Si la commande est suivie de chiffres, l'exécution argument-universel encore
termine l'argument numérique, mais est sinon ignoré. Comme cas particulier, si ce
commande est immédiatement suivie d'un caractère qui n'est ni un chiffre ni un moins
signe, le nombre d'arguments pour la commande suivante est multiplié par quatre. L'argument
count est initialement un, donc exécuter cette fonction la première fois rend le
l'argument compte quatre, une deuxième fois, l'argument compte seize, et ainsi de suite.

Fin
complet (TAB)
Essayez de compléter le texte avant le point. Frapper tentatives d'achèvement
traiter le texte comme une variable (si le texte commence par $), nom d'utilisateur (si le texte
commence par ~), nom d'hôte (si le texte commence par @) ou la commande (y compris les alias
et fonctions) tour à tour. Si aucun de ceux-ci ne produit de correspondance, la complétion du nom de fichier est
tenté.
achèvements-possibles (M-?)
Énumérez les complétions possibles du texte avant le point.
insertion-complétions (M-*)
Insérez toutes les complétions du texte avant le point qui auraient été générées par
achèvements-possibles.
menu-complet
Similaire à complet, mais remplace le mot à compléter par une seule correspondance de
la liste des complétions possibles. Exécution répétée de menu-complet mesures
à travers la liste des complétions possibles, en insérant chaque correspondance à tour de rôle. À la fin
de la liste des achèvements, la cloche sonne (sous réserve du réglage de en forme de cloche)
et le texte original est restauré. Un argument de n se déplace n positions en avant dans
la liste des matchs ; un argument négatif peut être utilisé pour reculer dans le
liste. Cette commande est destinée à être liée à TAB, mais n'est pas lié par défaut.
menu-complet-en arrière
Identique à menu-complet, mais recule dans la liste des possibles
achèvements, comme si menu-complet avait reçu un argument négatif. Cette commande
est non lié par défaut.
supprimer-car-ou-liste
Supprime le caractère sous le curseur s'il n'est pas au début ou à la fin de la ligne
(comme supprimer-char). Si en fin de ligne, se comporte de manière identique à
achèvements-possibles. Cette commande n'est pas liée par défaut.
nom_de_fichier_complet (M-/)
Essayez de compléter le nom de fichier sur le texte avant le point.
complétions-de-nom-de-fichier-possibles (Cx /)
Répertoriez les complétions possibles du texte avant le point, en le traitant comme un nom de fichier.
nom-d'utilisateur-complet (M-~)
Essayez de compléter le texte avant le point, en le traitant comme un nom d'utilisateur.
possibles-nom-utilisateur-complétions (Cx ~)
Répertoriez les complétions possibles du texte avant le point, en le traitant comme un nom d'utilisateur.
variable-complète (M-$)
Tentative de complétion sur le texte avant le point, en le traitant comme une variable shell.
complétions-de-variables-possibles (Cx $)
Lister les complétions possibles du texte avant le point, en le traitant comme un shell
variable.
nom_hôte_complet (M-@)
Essayez de compléter le texte avant le point, en le traitant comme un nom d'hôte.
possible-nom-hôte-complétions (Cx @)
Répertoriez les complétions possibles du texte avant le point, en le traitant comme un nom d'hôte.
commande-complète (M-!)
Tentative de complétion sur le texte avant le point, en le traitant comme un nom de commande.
L'achèvement de la commande tente de faire correspondre le texte aux alias, aux mots réservés,
les fonctions shell, les shells intégrés et enfin les noms de fichiers exécutables, dans cet ordre.
complétions-de-commandes-possibles (Cx !)
Lister les complétions possibles du texte avant le point, en le traitant comme une commande
nom.
dynamique-historique-complet (M-TAB)
Tentative de complétion sur le texte avant le point, en comparant le texte aux lignes de
la liste d'historique pour les correspondances d'achèvement possibles.
dabbrev-développer
Tenter de compléter le menu sur le texte avant le point, en comparant le texte aux lignes
de la liste d'historique pour les correspondances d'achèvement possibles.
complet-en-accolades (M-{)
Effectuez la complétion du nom de fichier et insérez la liste des complétions possibles ci-jointe
entre accolades pour que la liste soit disponible pour le shell (voir Entretoise Expansion au dessus de).

Clavier Macros
démarrer-kbd-macro (Cx ()
Commencez à enregistrer les caractères saisis dans la macro de clavier actuelle.
fin-kbd-macro (Cx ))
Arrêtez d'enregistrer les caractères saisis dans la macro de clavier actuelle et stockez le
définition.
appel-dernier-kbd-macro (Cx e)
Réexécutez la dernière macro clavier définie, en faisant les caractères dans la macro
apparaissent comme si elles étaient saisies au clavier.
imprimer-dernier-kbd-macro ()
Imprimer la dernière macro clavier définie dans un format adapté au entréerc fichier.

Divers
relire le fichier d'initialisation (Cx Cr)
Lire dans le contenu du entréerc fichier, et incorporer toutes les liaisons ou variables
les affectations qui s'y trouvent.
avortement (Cg)
Abandonner la commande d'édition en cours et sonner la cloche du terminal (sous réserve du
réglage de en forme de cloche).
do-version-majuscule (Maman, Mo, M-x, ...)
Si le personnage métatisé x est en minuscule, exécutez la commande liée au
caractère majuscule correspondant.
préfixe-méta (ESC)
Metafy le prochain caractère tapé. ESC f équivaut à Méta-f.
défaire (C-_, Cx Cu)
Annulation incrémentielle, mémorisée séparément pour chaque ligne.
inverser la ligne (Monsieur)
Annulez toutes les modifications apportées à cette ligne. C'est comme exécuter le défaire commande assez
fois pour remettre la ligne à son état initial.
tilde-développer (M-&)
Effectue une extension de tilde sur le mot courant.
repère (C-@, M- )
Placez la marque au point. Si un argument numérique est fourni, la marque est définie sur
ce poste.
échange-point-et-marque (Cx Cx)
Échangez le point avec la marque. La position actuelle du curseur est définie sur la valeur enregistrée
position et l'ancienne position du curseur est enregistrée en tant que marque.
recherche de caractères (C-])
Un caractère est lu et le point est déplacé vers l'occurrence suivante de ce caractère. UNE
nombre négatif recherche les occurrences précédentes.
recherche de caractères en arrière (MC-])
Un caractère est lu et le point est déplacé vers l'occurrence précédente de ce
personnage. Un nombre négatif recherche les occurrences suivantes.
sauter-séquence-csi
Lire suffisamment de caractères pour consommer une séquence multi-touches telles que celles définies pour
des touches telles que Début et Fin. De telles séquences commencent par un indicateur de séquence de contrôle
(CSI), généralement ESC-[. Si cette séquence est liée à "\[", les clés produisant de telles
les séquences n'auront aucun effet à moins qu'elles ne soient explicitement liées à une commande readline,
au lieu d'insérer des caractères parasites dans le tampon d'édition. Ceci n'est pas lié par
par défaut, mais généralement lié à ESC-[.
insérer-commentaire (M-#)
Sans argument numérique, la valeur de la ligne de lecture commenter-commencer la variable est
inséré au début de la ligne courante. Si un argument numérique est fourni,
cette commande agit comme une bascule : si les caractères en début de ligne font
ne correspond pas à la valeur de commenter-commencer, la valeur est insérée, sinon le
caractères dans commenter-commencer sont supprimés du début de la ligne. Dans les deux cas
cas, la ligne est acceptée comme si une nouvelle ligne avait été tapée. La valeur par défaut de
commenter-commencer provoque cette commande pour faire de la ligne actuelle un commentaire shell. Si un
l'argument numérique entraîne la suppression du caractère de commentaire, la ligne sera
exécuté par le shell.
glob-mot-complet (mg)
Le mot avant le point est traité comme un modèle pour l'expansion du nom de chemin, avec un
astérisque implicitement ajouté. Ce modèle est utilisé pour générer une liste de correspondances
noms de fichiers pour les complétions possibles.
glob-développer-mot (Cx *)
Le mot avant le point est traité comme un modèle pour l'expansion du nom de chemin, et la liste
des noms de fichiers correspondants est inséré, remplaçant le mot. Si un argument numérique est
fourni, un astérisque est ajouté avant l'expansion du nom de chemin.
glob-list-extensions (Cx g)
La liste des extensions qui auraient été générées par glob-développer-mot is
s'affiche et la ligne est redessinée. Si un argument numérique est fourni, un astérisque
est ajouté avant l'expansion du nom de chemin.
fonctions de vidage
Imprimez toutes les fonctions et leurs raccourcis clavier dans le flux de sortie readline.
Si un argument numérique est fourni, la sortie est formatée de telle sorte qu'elle
peut faire partie d'un entréerc fichier.
vidage-variables
Imprimer toutes les variables readline réglables et leurs valeurs sur la readline
flux de sortie. Si un argument numérique est fourni, la sortie est formatée dans un tel
une manière qu'il peut faire partie d'un entréerc fichier.
vidage-macros
Imprimer toutes les séquences de touches readline liées aux macros et les chaînes qu'elles
sortir. Si un argument numérique est fourni, la sortie est formatée de telle manière
qu'il puisse faire partie d'un entréerc fichier.
afficher-shell-version (Cx CV)
Afficher les informations de version sur l'instance actuelle de bash.

Programmable Aboutissement
Lorsque la complétion de mot est tentée pour un argument d'une commande pour laquelle une complétion
spécification (un spéc comp) a été défini à l'aide de la complet intégré (voir SHELL BÂTI
COMMANDES ci-dessous), les fonctions de complétion programmables sont invoquées.

Tout d'abord, le nom de la commande est identifié. Si le mot de commande est la chaîne vide
(complétion tentée au début d'une ligne vide), tout compspec défini avec le -E
Option de complet est utilisé. Si un compspec a été défini pour cette commande, le compspec
est utilisé pour générer la liste des complétions possibles pour le mot. Si le mot de commande est
un chemin d'accès complet, une spécification de composition pour le chemin d'accès complet est recherchée en premier. Si aucun compspec
est trouvé pour le chemin d'accès complet, une tentative est effectuée pour trouver un compspec pour la partie
après la barre oblique finale. Si ces recherches n'aboutissent pas à une spécification de comp, toute spécification de comp
défini avec le -D Option de complet est utilisé par défaut.

Une fois qu'un compspec a été trouvé, il est utilisé pour générer la liste des mots correspondants. Si un
compspec est introuvable, la valeur par défaut bash l'achèvement comme décrit ci-dessus sous Fin is
effectué.

Tout d'abord, les actions spécifiées par la spécification de comp sont utilisées. Seules les correspondances préfixées par
le mot en cours de complétion sont renvoyés. Quand le -f or -d l'option est utilisée pour le nom de fichier ou
la complétion du nom du répertoire, la variable shell FIGURER est utilisé pour filtrer les correspondances.

Toutes les complétions spécifiées par un modèle d'expansion de nom de chemin vers le -G option sont générés
suivant. Les mots générés par le modèle n'ont pas besoin de correspondre au mot à compléter. le
GLOBIGNORE La variable shell n'est pas utilisée pour filtrer les correspondances, mais la FIGURER la variable est
utilisé.

Ensuite, la chaîne spécifiée comme argument du -W option est envisagée. La chaîne est
d'abord fractionné en utilisant les caractères du IFS variable spéciale comme délimiteurs. Cotation Shell
est honoré. Chaque mot est ensuite développé en utilisant l'expansion d'accolades, l'expansion de tilde, le paramètre
et expansion variable, substitution de commande et expansion arithmétique, comme décrit ci-dessus
sous EXPANSION. Les résultats sont divisés en utilisant les règles décrites ci-dessus sous Word
Scission. Les résultats de l'expansion sont préfixés par rapport au mot étant
complété, et les mots correspondants deviennent les complétions possibles.

Une fois ces correspondances générées, toute fonction ou commande shell spécifiée avec le
-F ainsi que -C options est invoqué. Lorsque la commande ou la fonction est invoquée, le COMP_LINE,
COMP_POINT, COMP_KEYet COMP_TYPE les variables reçoivent des valeurs comme décrit ci-dessus sous
coquillage Variables. Si une fonction shell est invoquée, le COMP_MOTS ainsi que COMP_CWORD
des variables sont également définies. Lorsque la fonction ou la commande est invoquée, le premier argument ($1)
est le nom de la commande dont les arguments sont en train d'être complétés, le deuxième argument ($2)
est le mot en train d'être complété, et le troisième argument ($3) est le mot précédant le mot
en cours sur la ligne de commande actuelle. Pas de filtrage des complétions générées
contre le mot en cours d'achèvement est exécuté; la fonction ou la commande est terminée
liberté dans la génération des matchs.

Toute fonction spécifiée avec -F est invoqué en premier. La fonction peut utiliser n'importe quel shell
installations, y compris le compgen intégré décrit ci-dessous, pour générer les correspondances. Ce
doit mettre les complétions possibles dans le COMPRENDRE variable de tableau, une par élément de tableau.

Ensuite, toute commande spécifiée avec le -C l'option est invoquée dans un environnement équivalent à
substitution de commande. Il doit imprimer une liste de complétions, une par ligne, au
sortie standard. La barre oblique inverse peut être utilisée pour échapper à une nouvelle ligne, si nécessaire.

Une fois toutes les complétions possibles générées, tout filtre spécifié avec le -X
l'option est appliquée à la liste. Le filtre est un modèle tel qu'il est utilisé pour l'expansion du nom de chemin ; une
& dans le motif est remplacé par le texte du mot à compléter. Un littéral & Au cours de cette réunion, Matthew a obtenu de précieux conseils et Linda lui a demandé de la tenir au courant de ses progrès.
être échappé avec une barre oblique inverse ; la barre oblique inverse est supprimée avant de tenter une correspondance. Quelconque
l'achèvement qui correspond au modèle sera supprimé de la liste. Un leader ! annule
le motif; dans ce cas, toute complétion ne correspondant pas au modèle sera supprimée.

Enfin, tout préfixe et suffixe spécifié avec le -P ainsi que -S des options sont ajoutées à chaque
membre de la liste d'achèvement, et le résultat est renvoyé au code d'achèvement readline
comme la liste des complétions possibles.

Si les actions précédemment appliquées ne génèrent aucune correspondance et que le -o noms de domaine option
a été fourni à complet lorsque la spécification de compilation a été définie, la complétion du nom de répertoire est
tenté.

Si la -o répertoires plus l'option a été fournie à complet lorsque le compspec a été défini,
La complétion du nom du répertoire est tentée et toutes les correspondances sont ajoutées aux résultats de la
d'autres actions.

Par défaut, si un compspec est trouvé, tout ce qu'il génère est renvoyé à la complétion
code comme l'ensemble complet des complétions possibles. Le défaut bash les achèvements ne sont pas
tenté, et la valeur par défaut de readline pour la complétion du nom de fichier est désactivée. Si la -o
bashpar défaut l'option a été fournie à complet lorsque le compspec a été défini, le bash
les complétions par défaut sont tentées si la spécification de compilation ne génère aucune correspondance. Si la -o défaut
l'option a été fournie à complet lorsque le compspec a été défini, la valeur par défaut de readline
l'achèvement sera effectué si la spécification de compilation (et, si elle est tentée, la valeur par défaut bash
complétions) ne génèrent aucune correspondance.

Lorsqu'un compspec indique que la complétion du nom du répertoire est souhaitée, le
les fonctions de complétion obligent readline à ajouter une barre oblique aux noms complétés qui sont
liens symboliques vers des annuaires, sous réserve de la valeur du marque-répertoires readline
variable, quel que soit le réglage de la Mark-symlinked-directories variable readline.

Il existe une prise en charge de la modification dynamique des complétions. Ceci est particulièrement utile lorsque
utilisé en combinaison avec une complétion par défaut spécifiée avec complet -D. C'est possible
pour les fonctions shell exécutées en tant que gestionnaires de complétion pour indiquer que la complétion doit être
réessayé en retournant un état de sortie de 124. Si une fonction shell retourne 124 et change
le compspec associé à la commande sur laquelle l'achèvement est tenté (fourni
comme premier argument lors de l'exécution de la fonction), la complétion programmable redémarre
depuis le début, en essayant de trouver un nouveau compspec pour cette commande. Ceci permet
un ensemble de complétions à construire dynamiquement au fur et à mesure que la complétion est tentée, plutôt que d'être
chargé tout d'un coup.

Par exemple, en supposant qu'il existe une bibliothèque de compspecs, chacune conservée dans un fichier
correspondant au nom de la commande, la fonction de complétion par défaut suivante serait
charger les complétions dynamiquement :

_completion_loader()
{
. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
}
complet -D -F _completion_loader -o bashdefault -o par défaut

HISTOIRE


When the -o Histoire option à la set Builtin est activé, le shell donne accès au
commander Histoire, la liste des commandes tapées précédemment. La valeur de la TAILLE HIST
La variable est utilisée comme nombre de commandes à enregistrer dans une liste d'historique. Le texte de la
dernier TAILLE HIST commandes (par défaut 500) est enregistré. Le shell stocke chaque commande dans le
liste d'historique avant l'expansion des paramètres et des variables (voir EXPANSION ci-dessus) mais après
l'expansion de l'historique est effectuée, sous réserve des valeurs des variables shell HISTIGNORE
ainsi que CONTRÔLEHIST.

Au démarrage, l'historique est initialisé à partir du fichier nommé par la variable FICHIER HIST
(défaut ~ / .bash_history). Le fichier nommé par la valeur de FICHIER HIST est tronqué, si
ne doit pas contenir plus que le nombre de lignes spécifié par la valeur de
TAILLE FICHIER HIST. Si TAILLE FICHIER HIST n'est pas défini ou défini sur null, une valeur non numérique ou numérique
valeur inférieure à zéro, le fichier historique n'est pas tronqué. Lorsque le fichier historique est lu,
les lignes commençant par le caractère de commentaire d'historique suivi immédiatement d'un chiffre sont
interprétés comme des horodatages pour la ligne d'historique précédente. Ces horodatages sont éventuellement
affiché en fonction de la valeur du FORMAT HEURE HIST variable. Quand une coquille avec
l'historique des sorties activées, la dernière $HISTTAILLE les lignes sont copiées de la liste d'historique vers
$HISTFILE. Si l' histappend l'option shell est activée (voir la description de magasiner sous
SHELL BÂTI COMMANDES ci-dessous), les lignes sont ajoutées au fichier historique, sinon le
le fichier d'historique est écrasé. Si FICHIER HIST n'est pas défini, ou si le fichier historique n'est pas accessible en écriture,
l'historique n'est pas sauvegardé. Si la FORMAT HEURE HIST la variable est définie, les horodatages sont écrits
au fichier d'historique, marqué du caractère de commentaire d'historique, afin qu'ils puissent être conservés
entre les sessions shell. Cela utilise le caractère de commentaire d'historique pour distinguer les horodatages
d'autres lignes de l'histoire. Après avoir enregistré l'historique, le fichier d'historique est tronqué en
ne contiennent pas plus de TAILLE FICHIER HIST lignes. Si TAILLE FICHIER HIST n'est pas défini, ou défini sur null, un non-
valeur numérique, ou une valeur numérique inférieure à zéro, le fichier historique n'est pas tronqué.

La commande intégrée fc (voir SHELL BÂTI COMMANDES ci-dessous) peut être utilisé pour lister ou éditer et
réexécuter une partie de la liste d'historique. le Histoire Builtin peut être utilisé pour afficher ou
modifier la liste d'historique et manipuler le fichier d'historique. Lors de l'utilisation de l'édition en ligne de commande,
les commandes de recherche sont disponibles dans chaque mode d'édition qui donnent accès à l'historique
liste.

Le shell permet de contrôler quelles commandes sont enregistrées dans la liste d'historique. le
CONTRÔLEHIST ainsi que HISTIGNORE les variables peuvent être définies pour que le shell n'enregistre qu'un sous-ensemble
des commandes entrées. le cmdhiste l'option shell, si elle est activée, fait que le shell
tenter d'enregistrer chaque ligne d'une commande multiligne dans la même entrée d'historique, en ajoutant
points-virgules si nécessaire pour préserver l'exactitude syntaxique. le lithiste option coque
oblige le shell à enregistrer la commande avec des retours à la ligne intégrés au lieu de points-virgules. Voir
la description de la magasiner intégré ci-dessous sous SHELL BÂTI COMMANDES pour des informations sur
définir et désactiver les options du shell.

HISTOIRE EXPANSION


Le shell prend en charge une fonction d'extension de l'historique similaire à l'extension de l'historique dans
cch. Cette section décrit les fonctionnalités de syntaxe disponibles. Cette fonctionnalité est activée
par défaut pour les shells interactifs, et peut être désactivé en utilisant le +H option à la set
commande intégrée (voir SHELL BÂTI COMMANDES au dessous de). Les shells non interactifs ne fonctionnent pas
extension de l'historique par défaut.

Les extensions d'historique introduisent des mots de la liste d'historique dans le flux d'entrée, ce qui en fait
commandes faciles à répéter, insérez les arguments d'une commande précédente dans l'entrée actuelle
ligne, ou corrigez rapidement les erreurs dans les commandes précédentes.

L'expansion de l'historique est effectuée immédiatement après la lecture d'une ligne complète, avant le shell
le décompose en mots. Il se déroule en deux parties. La première consiste à déterminer quelle ligne
de la liste d'historique à utiliser pendant la substitution. La seconde consiste à sélectionner des portions de
cette ligne pour l'inclure dans la ligne actuelle. La ligne sélectionnée dans l'historique est la
un événement, et les portions de cette ligne sur lesquelles on agit sont des mots. Divers modificateurs
disponible pour manipuler les mots sélectionnés. La ligne est divisée en mots dans le même
mode comme lors de la lecture d'entrée, de sorte que plusieurs métacaractère-mots séparés entourés de
les citations sont considérées comme un seul mot. Les expansions de l'histoire sont introduites par l'apparition de
le caractère d'expansion de l'historique, qui est ! par défaut. Barre oblique inverse uniquement (\) et célibataire
Les guillemets peuvent citer le caractère d'expansion de l'historique.

Plusieurs caractères inhibent l'expansion de l'historique s'ils sont trouvés immédiatement après l'historique
caractère d'expansion, même sans guillemets : espace, tabulation, saut de ligne, retour chariot et =.
Si la extglob l'option shell est activée, ( inhibera également l'expansion.

Plusieurs options de shell paramétrables avec le magasiner Builtin peut être utilisé pour adapter le comportement
de l'expansion de l'histoire. Si la vérifier l'option shell est activée (voir la description de
le magasiner intégré ci-dessous), et readline est utilisé, les substitutions d'historique ne sont pas
immédiatement passé à l'analyseur shell. Au lieu de cela, la ligne étendue est rechargée dans le
readline tampon d'édition pour une modification ultérieure. Si readline est utilisé, et le
historiquemodifier l'option shell est activée, une substitution d'historique ayant échoué sera rechargée dans
le readline tampon d'édition pour correction. le -p option à la Histoire commande intégrée
peut être utilisé pour voir ce que fera une extension d'historique avant de l'utiliser. le -s option à la
Histoire Builtin peut être utilisé pour ajouter des commandes à la fin de la liste d'historique sans
les exécutant réellement, de sorte qu'ils soient disponibles pour un rappel ultérieur.

Le shell permet de contrôler les différents caractères utilisés par le mécanisme d'expansion de l'historique
(voir la description de histchars ci-dessus sous coquillage Variables). La coquille utilise le
caractère de commentaire d'historique pour marquer les horodatages d'historique lors de l'écriture du fichier d'historique.

événement Désignateurs
Un indicateur d'événement est une référence à une entrée de ligne de commande dans la liste d'historique. Sauf si
la référence est absolue, les événements sont relatifs à la position actuelle dans l'historique
liste.

! Commencer une substitution d'historique, sauf lorsqu'elle est suivie d'un vide, nouvelle ligne, chariot
return, = ou ( (lorsque le extglob l'option shell est activée à l'aide de la magasiner intégré).
!n Se référer à la ligne de commande n.
!-n Se référer à la commande actuelle moins n.
!! Référez-vous à la commande précédente. C'est un synonyme de '!-1'.
!un magnifique
Se référer à la commande la plus récente précédant la position actuelle dans la liste de l'historique
commençant par un magnifique.
!?un magnifique[?]
Se référer à la commande la plus récente précédant la position actuelle dans la liste de l'historique
comprenant un magnifique. La traînée ? peut être omis si un magnifique est immédiatement suivi
par une nouvelle ligne.
^string1^string2^
Remplacement rapide. Répétez la commande précédente en remplaçant string1 avec string2.
Équivalent à ``!!:s/string1/string2/'' (voir Modificateurs ci-dessous).
!# Toute la ligne de commande tapée jusqu'à présent.

Word Désignateurs
Les désignateurs de mots sont utilisés pour sélectionner les mots souhaités de l'événement. UNE : sépare l'événement
spécification du mot désignateur. Il peut être omis si le mot désignateur commence
avec une ^, $, *, -ou %. Les mots sont numérotés à partir du début de la ligne, avec le
premier mot étant noté 0 (zéro). Les mots sont insérés dans la ligne courante séparés
par des espaces simples.

0 (zéro)
Le mot zéro. Pour le shell, c'est le mot de commande.
n La ne mot.
^ Le premier argument. C'est-à-dire le mot 1.
$ Le dernier mot. C'est généralement le dernier argument, mais il s'étendra jusqu'au zéro
mot s'il n'y a qu'un seul mot dans la ligne.
% Le mot correspondant au plus récent `?un magnifique?' chercher.
x-y Une gamme de mots ; `-y' abrège '0-y'.
* Tous les mots sauf le zéro. C'est un synonyme de `1- $'. Ce n'est pas une erreur
à utiliser * s'il n'y a qu'un seul mot dans l'événement ; la chaîne vide est retournée dans
ce cas.
x* Abréviations x-$.
x- Abréviations x-$ comme x*, mais omet le dernier mot.

Si un indicateur de mot est fourni sans spécification d'événement, la commande précédente est
utilisé comme événement.

Modificateurs
Après le mot indicateur facultatif, il peut apparaître une séquence d'un ou plusieurs des
modificateurs suivants, chacun précédé d'un `:'.

h Supprimez un composant de nom de fichier de fin, ne laissant que la tête.
t Supprimez tous les principaux composants de nom de fichier, en laissant la queue.
r Supprimer un suffixe de fin du formulaire . Xxx, en laissant le nom de base.
e Supprimez tout sauf le suffixe de fin.
p Imprimez la nouvelle commande mais ne l'exécutez pas.
q Citez les mots substitués, en évitant d'autres substitutions.
x Citez les mots substitués comme avec q, mais écrivez des mots à flans et les nouvelles lignes.
s/et les sites anciens/neufs/
Représentant(e) suppléant(e) neufs pour la première occurrence de et les sites anciens dans la ligne d'événement. Tout délimiteur
peut être utilisé à la place de /. Le délimiteur final est facultatif s'il s'agit du dernier
caractère de la ligne d'événement. Le délimiteur peut être cité dans et les sites anciens ainsi que neufs avec une
barre oblique inverse unique. Si & apparaît dans neufs, il est remplacé par et les sites anciens. Une seule barre oblique inverse
citera le &. Si et les sites anciens est nul, il est défini sur le dernier et les sites anciens substitué, ou, si non
des remplacements de l'histoire précédente ont eu lieu, le dernier un magnifique dans un !?un magnifique[?]
chercher.
& Répétez la substitution précédente.
g Provoque l'application des modifications sur toute la ligne d'événement. Ceci est utilisé dans
conjonction avec `:s' (par exemple, ':gs/et les sites anciens/neufs/') ou `:&'. Si utilisé avec `:s', quelconque
délimiteur peut être utilisé à la place de /, et le délimiteur final est facultatif s'il est
le dernier caractère de la ligne d'événement. Une a peut être utilisé comme synonyme de g.
G Appliquez ce qui suit `s' modificateur une fois pour chaque mot dans la ligne d'événement.

SHELL BÂTI COMMANDES


Sauf indication contraire, chaque commande intégrée documentée dans cette section comme acceptant
options précédées de - accepte -- pour signifier la fin des options. le :, oui, non,
ainsi que tester Les fonctions intégrées n'acceptent pas les options et ne traitent pas -- spécialement. le sortie, déconnexion,
pause, continuer, laisseret décalage Les fonctions intégrées acceptent et traitent les arguments commençant par -
sans exiger --. Autres fonctions intégrées qui acceptent des arguments mais ne sont pas spécifiées comme
accepter les options interpréter les arguments commençant par - comme options non valides et nécessitent --
pour empêcher cette interprétation.
: [arguments]
Aucun effet; la commande ne fait rien d'autre qu'étendre arguments et effectuer tout
redirections spécifiées. Un code de sortie nul est renvoyé.

. nom de fichier [arguments]
la source nom de fichier [arguments]
Lire et exécuter les commandes de nom de fichier dans l'environnement shell actuel et retourne
l'état de sortie de la dernière commande exécutée depuis nom de fichier. Si nom de fichier ne collecte
contiennent une barre oblique, les noms de fichiers dans PATH sont utilisés pour trouver le répertoire contenant
nom de fichier. Le fichier recherché dans PATH n'a pas besoin d'être exécutable. Lorsque bash n'est pas
in posix mode, le répertoire courant est recherché si aucun fichier n'est trouvé dans PATH. Si
le chemin source option à la magasiner la commande intégrée est désactivée, la PATH n'est pas
cherché. Si seulement arguments sont fournis, ils deviennent les paramètres de position
quand nom de fichier est exécuté. Sinon, les paramètres de position restent inchangés. le
l'état de retour est l'état de la dernière commande exécutée dans le script (0 si non
les commandes sont exécutées), et false si nom de fichier n'est pas trouvé ou ne peut pas être lu.

alias [-p] [prénom[=Plus-value] ...]
Alias sans arguments ou avec le -p option imprime la liste des alias dans le
formulaire alias prénom=Plus-value sur sortie standard. Lorsque des arguments sont fournis, un alias est
défini pour chaque prénom dont Plus-value est donné. Un espace de fuite dans Plus-value provoque la
mot suivant à vérifier pour la substitution d'alias lorsque l'alias est développé. Pour
chacun prénom dans la liste d'arguments pour laquelle aucun Plus-value est fourni, le nom et la valeur
de l'alias est imprimé. Alias renvoie vrai à moins qu'un prénom est donné pour lequel aucun
alias a été défini.

bg [spécification de l'emploi ...]
Reprendre chaque tâche suspendue spécification de l'emploi en arrière-plan, comme s'il avait été lancé avec
&. Si spécification de l'emploi n'est pas présente, la notion du shell du actuel JOB est utilisé. bg
spécification de l'emploi renvoie 0 à moins qu'il ne soit exécuté lorsque le contrôle du travail est désactivé ou, lorsqu'il est exécuté avec le travail
contrôle activé, tout spécifié spécification de l'emploi n'a pas été trouvé ou a été démarré sans travail
.

lier [-m carte du clavier] [-lpsvPSVX]
lier [-m carte du clavier] [-q fonction] [-u fonction] [-r séquence de touches]
lier [-m carte du clavier] -f nom de fichier
lier [-m carte du clavier] -x séquence de touches:shell-commande
lier [-m carte du clavier] séquence de touches:nom-fonction
lier readline-commande
Afficher le courant readline liaisons de touches et de fonctions, lier une séquence de touches à un
readline fonction ou macro, ou définissez un readline variable. Chaque argument non optionnel
est une commande telle qu'elle apparaîtrait dans .inputrc, mais chaque liaison ou commande doit être
passé en tant qu'argument séparé ; par exemple, '"\Cx\Cr": re-read-init-file'. Options, si
fourni, ont les significations suivantes :
-m carte du clavier
Utilisez carte du clavier comme la keymap qui sera affectée par les liaisons suivantes.
Acceptable carte du clavier les noms sont emac, norme emacs, emacs-méta, emacs-ctlx,
vous, vi-déplacer, commande viet vi-insérer. vi équivaut à commande vi;
emacs équivaut à norme emacs.
-l Lister les noms de tous readline fonctions.
-p Commande readline les noms de fonctions et les liaisons de telle sorte qu'ils puissent être
relire.
-P Liste actuelle readline les noms de fonction et les liaisons.
-s Commande readline les séquences de touches liées aux macros et les chaînes qu'elles génèrent
de manière à pouvoir être relues.
-S Commande readline les séquences de touches liées aux macros et les chaînes qu'elles génèrent.
-v Commande readline les noms et les valeurs des variables de manière à ce qu'ils puissent être
relire.
-V Liste actuelle readline noms et valeurs des variables.
-f nom de fichier
Lire les raccourcis clavier de nom de fichier.
-q fonction
Requête sur les clés qui appellent le nom fonction.
-u fonction
Délier toutes les clés liées au nommé fonction.
-r séquence de touches
Supprimer toute liaison actuelle pour séquence de touches.
-x séquence de touches:shell-commande
Causes shell-commande à exécuter chaque fois que séquence de touches est saisi. Lorsque
shell-commande est exécuté, le shell définit le READLINE_LINE variable à la
contenu de la readline tampon de ligne et le READLINE_POINT variable à la
emplacement actuel du point d'insertion. Si la commande exécutée change
la valeur de READLINE_LINE or READLINE_POINT, ces nouvelles valeurs seront
reflété dans l'état d'édition.
-X Répertorier toutes les séquences de touches liées aux commandes shell et les commandes associées
dans un format qui peut être réutilisé comme entrée.

La valeur de retour est 0 à moins qu'une option non reconnue ne soit donnée ou qu'une erreur se soit produite.

pause [n]
Sortir de l'intérieur d'un en, tout en, jusqu'àou Sélectionner boucle. Si n est spécifié, casser n
les niveaux. n doit être 1. Si n est supérieur au nombre de boucles englobantes, tous
les boucles englobantes sont sorties. La valeur de retour est 0 sauf si n n'est pas supérieur ou
égal à 1.

builtin shell intégré [arguments]
Exécute le shell intégré spécifié, en le passant arguments, et retourne sa sortie
statut. Ceci est utile lors de la définition d'une fonction dont le nom est le même qu'un shell
Builtin, en conservant la fonctionnalité de la fonction Builtin dans la fonction. le cd
Builtin est généralement redéfini de cette façon. Le statut de retour est faux si
shell intégré n'est pas une commande shell intégrée.

votre interlocuteur [expr]
Renvoie le contexte de tout appel de sous-programme actif (une fonction shell ou un script
exécuté avec le . or la source intégrés). Sans expr, votre interlocuteur affiche la ligne
numéro et nom de fichier source de l'appel de sous-programme en cours. Si un non-négatif
entier est fourni comme expr, votre interlocuteur affiche le numéro de ligne, le nom du sous-programme et
source correspondant à cette position dans la pile d'appels d'exécution actuelle.
Ces informations supplémentaires peuvent être utilisées, par exemple, pour imprimer une trace de pile. le
l'image actuelle est l'image 0. La valeur de retour est 0 sauf si le shell ne s'exécute pas
un appel de sous-programme ou expr ne correspond pas à une position valide dans l'appel
association.

cd [-L|[-P [-e]] [-@]] [dir]
Changer le répertoire courant en dir. si dir n'est pas fourni, la valeur du ACCUEIL
La variable shell est la valeur par défaut. Tout argument supplémentaire suivant dir sont ignorés.
La variable CDPATH définit le chemin de recherche du répertoire contenant dir: chaque
nom du répertoire dans CDPATH est recherché dir. Noms de répertoire alternatifs dans
CDPATH sont séparés par deux points (:). Un nom de répertoire nul dans CDPATH est le même
comme répertoire courant, c'est-à-dire ``.''. Si dir commence par une barre oblique (/), puis CDPATH
N'est pas utilisé. le -P l'option provoque cd d'utiliser la structure de répertoire physique en
résolution des liens symboliques lors de la traversée dir et avant de traiter les instances de ..
in dir (voir aussi le -P option à la set commande intégrée); la -L option oblige
liens symboliques à suivre en résolvant le lien après traitement des instances de
.. in dir. Si .. apparaît dans dir, il est traité en supprimant immédiatement
composant de nom de chemin précédent de dir, retour à une barre oblique ou au début de dir. Si
le -e l'option est fournie avec -P, et le répertoire de travail actuel ne peut pas être
déterminé avec succès après un changement de répertoire réussi, cd retournera un
statut infructueux. Sur les systèmes qui le prennent en charge, le -@ l'option présente le
attributs étendus associés à un fichier en tant que répertoire. Un argument de - is
converti en $OLDPWD avant que le changement de répertoire ne soit tenté. Si un non vide
nom du répertoire de CDPATH est utilisé, ou si - est le premier argument, et le
le changement de répertoire est réussi, le chemin d'accès absolu du nouveau répertoire de travail
est écrit sur la sortie standard. La valeur de retour est vraie si le répertoire a été
modifié avec succès ; faux sinon.

commander [-pVv] commander [arg ...]
Courir commander avec args en supprimant la recherche de fonction shell normale. Uniquement intégré
commandes ou commandes trouvées dans le PATH sont exécutés. Si la -p l'option est donnée,
la recherche pour commander est effectuée en utilisant une valeur par défaut pour PATH qui est
garanti de trouver tous les utilitaires standard. Si soit le -V or -v option est
fourni, une description de commander est imprimé. le -v l'option provoque un seul mot
indiquant la commande ou le nom de fichier utilisé pour invoquer commander à afficher ; la -V
L'option produit une description plus détaillée. Si la -V or -v l'option est fournie,
l'état de sortie est 0 si commander a été trouvé, et 1 sinon. Si aucune des deux options n'est
fourni et une erreur s'est produite ou commander introuvable, l'état de sortie est 127.
Sinon, l'état de sortie du commander Builtin est l'état de sortie de commander.

compgen [option] [mot]
Générer des correspondances d'achèvement possibles pour mot selon l' options, ce qui peut
être toute option acceptée par le complet intégré à l'exception de -p ainsi que -ret
écrire les correspondances sur la sortie standard. Lors de l'utilisation du -F or -C options, le
diverses variables shell définies par les fonctions de complétion programmables, tandis que
disponible, n'aura pas de valeurs utiles.

Les correspondances seront générées de la même manière que si la complétion programmable
le code les avait générés directement à partir d'une spécification de complétion avec le même
drapeaux. Si mot est spécifié, seules les complétions correspondant mot sera
affiché.

La valeur de retour est vraie à moins qu'une option non valide ne soit fournie ou qu'aucune correspondance n'ait été
généré.

complet [-abcdefgjksuv] [-o option comp] [-DE] [-A action] [-G global] [-W liste de mots] [-F
fonction] [-C commander]
[-X filtrer] [-P préfixe] [-S suffixe] prénom [prénom ]
complet -pr [-DE] [prénom ...]
Spécifiez comment les arguments de chacun prénom devrait être complété. Si la -p option est
fourni, ou si aucune option n'est fournie, les spécifications d'achèvement existantes sont
imprimés de manière à pouvoir être réutilisés en entrée. le -r l'option supprime un
spécification d'achèvement pour chaque prénom, ou, si non prénoms sont fournis, tous
spécifications d'achèvement. le -D option indique que les options restantes et
les actions doivent s'appliquer à l'achèvement de la commande ``default'' ; c'est-à-dire l'achèvement
tenté sur une commande pour laquelle aucun achèvement n'a été préalablement défini. le -E
option indique que les options et actions restantes doivent s'appliquer à ``vide''
achèvement de la commande ; c'est-à-dire, tentative d'achèvement sur une ligne vierge.

Le processus d'application de ces spécifications de complétion lorsque la complétion de mot est
tenté est décrit ci-dessus sous Programmable Aboutissement.

Les autres options, si elles sont spécifiées, ont les significations suivantes. Les arguments à la -G,
-Wet -X options (et, si nécessaire, les -P ainsi que -S options) doit être cité à
les protéger de l'expansion avant la complet intégré est invoqué.
-o option comp
La option comp contrôle plusieurs aspects du comportement du compspec au-delà
la simple génération de complétions. option comp peut être l'un des :
bashpar défaut
Effectuer le reste de la valeur par défaut bash complétions si le compspec
ne génère aucune correspondance.
défaut Utilisez la complétion de nom de fichier par défaut de readline si le compspec
ne génère aucune correspondance.
noms de domaine
Effectuez la complétion du nom du répertoire si la spécification de compilation ne génère aucun
allumettes.
noms de fichiers
Dites à readline que la spécification de compilation génère des noms de fichiers, afin qu'elle puisse
effectuer tout traitement spécifique au nom de fichier (comme ajouter une barre oblique à
noms de répertoire, en citant des caractères spéciaux ou en supprimant
espaces de fin). Destiné à être utilisé avec des fonctions shell.
aucune citation Dites à readline de ne pas citer les mots complétés s'ils sont
noms de fichiers (la citation des noms de fichiers est la valeur par défaut).
pas d'espace Dites à readline de ne pas ajouter d'espace (par défaut) aux mots
terminé à la fin de la ligne.
répertoires plus
Une fois que toutes les correspondances définies par la spécification de comp sont générées, le répertoire
la complétion du nom est tentée et toutes les correspondances sont ajoutées au
résultats des autres actions.
-A action
La action peut être l'un des suivants pour générer une liste de
finitions :
alias Noms d'alias. Peut également être spécifié comme -a.
var_tableau
Noms de variables de tableau.
propriétés de liant readline noms de liaison de clé.
builtin Noms des commandes intégrées du shell. Peut également être spécifié comme -b.
commander Noms de commandes. Peut également être spécifié comme -c.
annuaire
Noms de répertoire. Peut également être spécifié comme -d.
handicapé
Noms des shells intégrés désactivés.
activé Noms des shells intégrés activés.
Exporter Noms des variables shell exportées. Peut également être spécifié comme -e.
filet Noms de fichiers. Peut également être spécifié comme -f.
fonction
Noms des fonctions shell.
groupe Noms de groupe. Peut également être spécifié comme -g.
rubrique d'aide
Rubriques d'aide acceptées par le aider intégré.
nom d'hôte
Les noms d'hôtes, tels qu'ils sont extraits du fichier spécifié par le FICHIER HÔTE coquille
variable.
JOB Noms des travaux, si le contrôle des travaux est actif. Peut également être spécifié comme -j.
mot-clé Shell mots réservés. Peut également être spécifié comme -k.
pour le running Noms des travaux en cours, si le contrôle des travaux est actif.
service Noms des services. Peut également être spécifié comme -s.
arrêter Arguments valides pour le -o option à la set intégré.
magasiner Noms d'options du shell tels qu'acceptés par le magasiner intégré.
signal Noms de signaux.
arrêté Noms des travaux arrêtés, si le contrôle des travaux est actif.
utilisateur Noms d'utilisateurs. Peut également être spécifié comme -u.
variable
Noms de toutes les variables shell. Peut également être spécifié comme -v.
-C commander
commander est exécuté dans un environnement de sous-shell, et sa sortie est utilisée comme
les complétions possibles.
-F fonction
La fonction shell fonction est exécuté dans l'environnement shell courant.
Lorsque la fonction est exécutée, le premier argument ($1) est le nom du
commande dont les arguments sont en train d'être complétés, le deuxième argument ($2) est
le mot étant complété, et le troisième argument ($3) est le mot qui précède
le mot étant complété sur la ligne de commande actuelle. Quand c'est fini,
les complétions possibles sont extraites de la valeur du COMPRENDRE
variable de tableau.
-G global
Le modèle d'expansion du nom de chemin global est étendu pour générer le possible
achèvements.
-P préfixe
préfixe est ajouté au début de chaque achèvement possible après tout
d'autres options ont été appliquées.
-S suffixe
suffixe est ajouté à chaque complétion possible après que toutes les autres options aient
été appliqué.
-W liste de mots
La liste de mots est divisé en utilisant les caractères dans le IFS variable spéciale comme
délimiteurs, et chaque mot résultant est développé. Les complétions possibles
sont les membres de la liste résultante qui correspondent au mot à compléter.
-X filtrer
filtrer est un modèle tel qu'il est utilisé pour l'expansion du nom de chemin. Il est appliqué à
la liste des complétions possibles générée par les options précédentes et
arguments, et chaque achèvement correspondant filtrer est retiré de la liste.
Un leader ! in filtrer annule le modèle ; dans ce cas, tout achèvement
ne correspond pas filtrer est retiré.

La valeur de retour est vraie sauf si une option invalide est fournie, une option autre que
-p or -r est fourni sans prénom argument, une tentative est faite pour supprimer un
spécification d'achèvement pour un prénom pour laquelle aucune spécification n'existe, ou une erreur
se produit en ajoutant une spécification d'achèvement.

compop [-o option] [-DE] [+o option] [prénom]
Modifier les options d'achèvement pour chacun prénom selon l' options, ou pour le
achèvement en cours d'exécution si non prénoms sont fournis. Sinon options sont donnés,
afficher les options d'achèvement pour chaque prénom ou l'achèvement actuel. le
valeurs possibles de option sont ceux qui sont valables pour le complet intégré décrit ci-dessus.
La -D option indique que les options restantes doivent s'appliquer au ``default''
achèvement de la commande ; c'est-à-dire, tentative d'achèvement sur une commande pour laquelle aucun
l'achèvement a été défini au préalable. le -E l'option indique que le reste
les options devraient s'appliquer à l'achèvement de la commande « vide » ; c'est-à-dire tentative d'achèvement
sur une ligne vierge.

La valeur de retour est vraie sauf si une option invalide est fournie, une tentative est faite
pour modifier les options d'un prénom pour lequel aucune spécification d'achèvement n'existe, ou
une erreur de sortie se produit.

continuer [n]
Reprendre la prochaine itération de la clôture en, tout en, jusqu'àou Sélectionner boucle. Si n
est spécifié, reprendre à la nla boucle enveloppante. n doit être 1. Si n est plus grand
que le nombre de boucles englobantes, la dernière boucle englobante (le ``top-level''
boucle) est reprise. La valeur de retour est 0 sauf si n n'est pas supérieur ou égal à
1.

déclarer [-aAfFgilnrtux] [-p] [prénom[=Plus-value] ...]
composer [-aAfFgilnrtux] [-p] [prénom[=Plus-value] ...]
Déclarez des variables et/ou attribuez-leur des attributs. Sinon prénoms sont donnés puis s'affichent
les valeurs des variables. le -p L'option affichera les attributs et les valeurs de
chacun prénom. Quand -p s'utilise avec prénom arguments, options supplémentaires, autres que -f
ainsi que -F, sont ignorés. Lorsque -p est fourni sans prénom arguments, il affichera
les attributs et les valeurs de toutes les variables ayant les attributs spécifiés par le
options additionelles. Si aucune autre option n'est fournie avec -p, déclarer Affichera
les attributs et les valeurs de toutes les variables shell. le -f l'option restreindra la
afficher aux fonctions shell. le -F l'option inhibe l'affichage de la fonction
définitions; seuls le nom de la fonction et les attributs sont imprimés. Si la extdebug
l'option shell est activée à l'aide magasiner, le nom du fichier source et le numéro de ligne où le
fonction est définie s'affichent également. le -F option implique -fL’ -g
L'option force la création ou la modification de variables au niveau global, même lorsque
déclarer est exécuté dans une fonction shell. Il est ignoré dans tous les autres cas. le
les options suivantes peuvent être utilisées pour restreindre la sortie aux variables avec le spécifié
attribut ou pour donner des attributs aux variables :
-a Chaque prénom est une variable tableau indexée (voir Arrays au dessus de).
-A Chaque prénom est une variable tableau associatif (voir Arrays au dessus de).
-f Utilisez uniquement les noms de fonction.
-i La variable est traitée comme un entier ; évaluation arithmétique (voir ARITHMÉTIQUE
ÉVALUATION ci-dessus) est effectuée lorsque la variable reçoit une valeur.
-l Lorsqu'une valeur est affectée à la variable, tous les caractères majuscules sont
converti en minuscules. L'attribut majuscule est désactivé.
-n Donnez à chacun prénom le nomref attribut, ce qui en fait une référence de nom à un autre
variable. Cette autre variable est définie par la valeur de prénom. Tous
références et affectations à prénom, sauf pour changer le -n attribuer
elle-même, sont effectuées sur la variable référencée par prénomvaleur de . le -n
L'attribut ne peut pas être appliqué aux variables de tableau.
-r Marque prénoms en lecture seule. Ces noms ne peuvent alors pas être valorisés par
instructions d'affectation ultérieures ou non définies.
-t Donnez à chacun prénom le tracer attribut. Les fonctions tracées héritent du DEBUG ainsi que
RETOUR pièges du shell d'appel. L'attribut trace n'a pas de particularité
sens pour les variables.
-u Lorsqu'une valeur est affectée à la variable, tous les caractères minuscules sont
converti en majuscule. L'attribut minuscule est désactivé.
-x Marquez prénoms pour l'exportation vers les commandes suivantes via l'environnement.

L'utilisation de « + » au lieu de « - » désactive l'attribut à la place, avec les exceptions qui
+a ne peut pas être utilisé pour détruire une variable de tableau et +r ne supprimera pas la lecture seule
attribut. Lorsqu'il est utilisé dans une fonction, déclarer ainsi que composer faire chacun prénom local, comme
les locales commande, à moins que le -g l'option est fournie. Si un nom de variable est
suivi de =Plus-value, la valeur de la variable est fixée à Plus-value. Lors de l'utilisation -a or -A
et la syntaxe d'affectation composée pour créer des variables de tableau, des attributs supplémentaires
ne prennent effet qu'aux cessions ultérieures. La valeur de retour est 0 à moins qu'un
une option invalide est rencontrée, une tentative est faite pour définir une fonction en utilisant ``-f
foo=bar'', une tentative est faite pour affecter une valeur à une variable en lecture seule, une tentative
est fait pour affecter une valeur à une variable de tableau sans utiliser le composé
syntaxe d'affectation (voir Arrays ci-dessus), l'un des noms n'est pas un shell valide
nom de la variable, une tentative est faite pour désactiver le statut en lecture seule pour une lecture seule
variable, une tentative est faite pour désactiver l'état du tableau pour une variable de tableau, ou un
tentative est faite pour afficher une fonction inexistante avec -f.

dirs [-clpv] [+n] [-n]
Sans options, affiche la liste des répertoires actuellement mémorisés. le
l'affichage par défaut est sur une seule ligne avec des noms de répertoire séparés par des espaces.
Les répertoires sont ajoutés à la liste avec le pushd commander; les popd la commande supprime
entrées de la liste.
-c Efface la pile de répertoires en supprimant toutes les entrées.
-l Produit une liste en utilisant des chemins d'accès complets ; le format de liste par défaut utilise un
tilde pour désigner le répertoire personnel.
-p Imprimez la pile de répertoires avec une entrée par ligne.
-v Imprimer la pile de répertoires avec une entrée par ligne, en préfixant chaque entrée avec
son index dans la pile.
+n Affiche le nème entrée en partant de la gauche de la liste indiquée par dirs quand
invoqué sans options, en commençant par zéro.
-n Affiche le nème entrée en partant de la droite de la liste indiquée par dirs
lorsqu'il est invoqué sans options, en commençant par zéro.

La valeur de retour est 0 sauf si une option invalide est fournie ou n index au-delà de la
fin de la pile de répertoires.

renier [-ar] [-h] [spécification de l'emploi ...]
Sans options, supprimez chaque spécification de l'emploi du tableau des emplois actifs. Si spécification de l'emploi is
pas présent, et ni le -a ni l' -r l'option est fournie, le actuel JOB is
utilisé. Si la -h l'option est donnée, chaque spécification de l'emploi n'est pas retiré de la table, mais
est marqué de sorte que VUE D'ENSEMBLE n'est pas envoyé au travail si le shell reçoit un VUE D'ENSEMBLE. Si
aucune spécification de l'emploi est fourni, le -a option signifie supprimer ou marquer tous les travaux ; la -r
option sans spécification de l'emploi L'argument restreint l'opération aux tâches en cours d'exécution. Le retour
la valeur est 0 à moins qu'un spécification de l'emploi ne spécifie pas un travail valide.

echo [-née] [arg ...]
Sortir le args, séparés par des espaces, suivis d'un saut de ligne. Le statut de retour est
0 sauf si une erreur d'écriture se produit. Si -n est spécifié, la nouvelle ligne de fin est
supprimé. Si la -e option est donnée, l'interprétation de la barre oblique inverse suivante-
les caractères d'échappement sont activés. le -E l'option désactive l'interprétation de ces
caractères d'échappement, même sur les systèmes où ils sont interprétés par défaut. le
xpg_echo l'option shell peut être utilisée pour déterminer dynamiquement si oui ou non echo
développe ces caractères d'échappement par défaut. echo n'interprète pas -- pour signifier le
fin des options. echo interprète les séquences d'échappement suivantes :
\a alerte (cloche)
\b backspace
\c supprimer d'autres sorties
\e
\E un caractère d'échappement
\f flux de formulaire
\n nouvelle ligne
\r retour chariot
\t onglet horizontal
\v onglet vertical
\\ barre oblique inverse
\0nnn le caractère de huit bits dont la valeur est la valeur octale nnn (zéro à trois
chiffres octaux)
\xHH le caractère de huit bits dont la valeur est la valeur hexadécimale HH (un ou deux
chiffres hexadécimaux)
\uHhhh le caractère Unicode (ISO/IEC 10646) dont la valeur est la valeur hexadécimale
Hhhh (un à quatre chiffres hexadécimaux)
\UHHHHHHHH
le caractère Unicode (ISO/IEC 10646) dont la valeur est la valeur hexadécimale
HHHHHHHH (un à huit chiffres hexadécimaux)

permettre [-a] [-dnps] [-f nom de fichier] [prénom ...]
Activez et désactivez les commandes shell intégrées. La désactivation d'une fonction intégrée permet à un disque
commande qui a le même nom qu'un shell intégré à exécuter sans
en spécifiant un chemin d'accès complet, même si le shell recherche normalement les fonctions intégrées
avant les commandes de disque. Si -n est utilisé, chaque prénom est désactivé ; autrement, noms
activée. Par exemple, pour utiliser le tester binaire trouvé via le PATH à la place du
shell version intégrée, exécutez ``enable -n test''. le -f option signifie charger le nouveau
commande intégrée prénom à partir d'un objet partagé nom de fichier, sur les systèmes prenant en charge la dynamique
Chargement en cours. le -d L'option supprimera une commande intégrée précédemment chargée avec -f. Sinon
prénom des arguments sont donnés, ou si le -p option est fournie, une liste des shells intégrés
est imprimé. Sans autres arguments d'option, la liste se compose de tous les shells activés
intégrés. Si -n est fourni, seules les fonctions intégrées désactivées sont imprimées. Si -a is
fourni, la liste imprimée comprend toutes les fonctions intégrées, avec une indication si ou
tous ne sont pas activés. Si -s est fourni, la sortie est limitée au POSIX
spécial intégrés. La valeur de retour est 0 sauf si un prénom n'est pas un shell intégré ou
une erreur s'est produite lors du chargement d'une nouvelle fonction intégrée à partir d'un objet partagé.

eval [arg ...]
La args sont lus et concaténés en une seule commande. Cette commande est
puis lu et exécuté par le shell, et son état de sortie est renvoyé comme valeur
of eval. S'il n'y a pas args, ou uniquement des arguments nuls, eval renvoie 0.

exec [-cl] [-a prénom] [commander [arguments]]
If commander est spécifié, il remplace le shell. Aucun nouveau processus n'est créé. le
arguments deviennent les arguments pour commander. Si l' -l l'option est fournie, le shell
place un tiret au début du zéroième argument passé à commander. C'est
ce qu'elle vous dit. Recherchez des informations adaptées à l'âge des enfants et examinez-les ensemble. vous connecter(1) le fait. Les -c l'option provoque commander à exécuter avec un vide
environnement. Si -a est fourni, la coque passe prénom comme argument zéro de
la commande exécutée. Si commander ne peut pas être exécuté pour une raison quelconque, un non-
le shell interactif se ferme, à moins que le échec de l'exécution l'option shell est activée. Dans ce
cas, il renvoie l'échec. Un shell interactif renvoie un échec si le fichier ne peut pas
être exécuté. Si commander n'est pas spécifié, toute redirection prend effet dans le
shell actuel et l'état de retour est 0. S'il y a une erreur de redirection, le
le statut de retour est 1.

sortie [n]
Provoque la sortie du shell avec un statut de n. Si n est omis, le statut de sortie est
celui de la dernière commande exécutée. Un piège sur EXIT est exécuté avant le shell
se termine.

Exporter [-fn] [prénom[=mot]] ...
Exporter -p
Le fourni noms sont marqués pour l'exportation automatique vers l'environnement de
commandes exécutées par la suite. Si la -f l'option est donnée, le noms faire référence à
les fonctions. Sinon noms sont donnés, ou si le -p option est fournie, une liste de noms
de toutes les variables exportées est imprimée. le -n L'option entraîne la propriété d'exportation à
être retiré de chaque prénom. Si un nom de variable est suivi de =mot, la valeur de
la variable est définie sur mot. Exporter renvoie un état de sortie de 0 à moins qu'un invalide
option est rencontrée, l'un des noms n'est pas un nom de variable shell valide, ou -f
est fourni avec un prénom ce n'est pas une fonction.

fc [-e nommer] [-lnr] [premier] [dernier]
fc -s [caresse=rep] [cmd]
La première forme sélectionne une gamme de commandes de premier à dernier de la liste d'historique
et les affiche ou les modifie et les réexécute. Prénom ainsi que dernier peut être spécifié comme un
chaîne (pour localiser la dernière commande commençant par cette chaîne) ou sous forme de nombre (un
index dans la liste d'historique, où un nombre négatif est utilisé comme décalage par rapport au
numéro de commande actuel). Si dernier n'est pas spécifié, il est défini sur la commande actuelle
pour la liste (de sorte que ``fc -l -10'' affiche les 10 dernières commandes) et pour premier
autrement. Si premier n'est pas spécifié, il est défini sur la commande précédente pour l'édition
et -16 pour la cotation.

La -n L'option supprime les numéros de commande lors de la liste. le -r l'option s'inverse
l'ordre des commandes. Si la -l est donnée, les commandes sont répertoriées sur
sortie standard. Sinon, l'éditeur donné par nommer est invoqué sur un fichier
contenant ces commandes. Si nommer n'est pas donné, la valeur de FCEDIT variable
est utilisé, et la valeur de EDITEUR if FCEDIT n'est pas défini. Si aucune variable n'est définie,
vi est utilisé. Une fois l'édition terminée, les commandes éditées sont renvoyées et exécutées.

Dans la seconde forme, commander est réexécuté après chaque instance de caresse est remplacé
by rep. Command est interprété de la même manière que premier au dessus. Un alias utile à utiliser avec
c'est ``r="fc -s"'', de sorte que taper ``r cc'' exécute la dernière commande commençant par
``cc'' et taper ``r'' réexécute la dernière commande.

Si la première forme est utilisée, la valeur de retour est 0 sauf si une option invalide est
rencontré ou premier or dernier spécifier des lignes d'historique hors de portée. Si la -e option
est fourni, la valeur de retour est la valeur de la dernière commande exécutée ou de l'échec
si une erreur se produit avec le fichier temporaire de commandes. Si la deuxième forme est
utilisé, le statut de retour est celui de la commande réexécutée, sauf si cmd ne collecte
spécifiez une ligne d'historique valide, auquel cas fc renvoie l'échec.

fg [spécification de l'emploi]
Reprendre spécification de l'emploi au premier plan et en faire le travail actuel. Si spécification de l'emploi n'est pas
présente, la notion de la coquille du actuel JOB est utilisé. La valeur de retour est que
de la commande placée au premier plan, ou échec si exécuté lorsque le contrôle des travaux est
désactivé ou, lorsqu'il est exécuté avec le contrôle des tâches activé, si spécification de l'emploi ne spécifie pas de valeur valide
travail ou spécification de l'emploi spécifie un travail qui a été démarré sans contrôle de travail.

getops chaîne d'options prénom [args]
getops est utilisé par les procédures shell pour analyser les paramètres positionnels. chaîne d'options
contient les caractères d'option à reconnaître ; si un caractère est suivi d'un
deux-points, l'option doit avoir un argument, qui doit être séparé de
par un espace blanc. Les caractères deux-points et point d'interrogation ne peuvent pas être utilisés comme
caractères d'option. Chaque fois qu'il est invoqué, getops place l'option suivante dans le
variable shell prénom, initialisation prénom s'il n'existe pas, et l'index du
prochain argument à traiter dans la variable OPTINDRE. OPTINDRE est initialisé à 1
chaque fois que le shell ou un script shell est invoqué. Lorsqu'une option nécessite un
dispute, getops place cet argument dans la variable OPTARG. La coquille fait
pas réinitialisé OPTINDRE automatiquement ; il doit être réinitialisé manuellement entre plusieurs appels pour
getops dans le même appel de shell si un nouvel ensemble de paramètres doit être utilisé.

Lorsque la fin des options est rencontrée, getops sort avec une valeur de retour supérieure
que zéro. OPTINDRE est défini sur l'index du premier argument non optionnel, et prénom
est réglé sur ?.

getops analyse normalement les paramètres positionnels, mais si plus d'arguments sont donnés
in args, getops les analyse à la place.

getops peut signaler des erreurs de deux manières. Si le premier caractère de chaîne d'options est une
côlon, silencieux le rapport d'erreur est utilisé. En fonctionnement normal, les messages de diagnostic
sont affichés lorsque des options non valides ou des arguments d'option manquants sont rencontrés. Si
la variable OPTER est réglé sur 0, aucun message d'erreur ne s'affichera, même si le
premier caractère de chaîne d'options n'est pas un côlon.

Si une option invalide est vue, getops des endroits ? dans prénom et, s'il n'est pas silencieux, imprime
un message d'erreur et désactive OPTARG. Si getops est silencieux, le caractère d'option
trouvé est placé dans OPTARG et aucun message de diagnostic n'est imprimé.

Si un argument requis n'est pas trouvé, et getops n'est pas silencieux, un point d'interrogation (?)
est placé dans prénom, OPTARG est désactivé et un message de diagnostic est imprimé. Si
getops est silencieux, puis deux points (:) est placé dans prénom ainsi que OPTARG est réglé sur la
caractère d'option trouvé.

getops renvoie vrai si une option, spécifiée ou non spécifiée, est trouvée. ça revient
false si la fin des options est rencontrée ou une erreur se produit.

hachage [-g / D] [-p nom de fichier] [-DT] [prénom]
Chaque fois hachage est invoqué, le chemin complet de la commande prénom est déterminé par
recherche dans les répertoires de $ CHEMIN et rappelé. Tout souvenir précédemment
le chemin d'accès est ignoré. Si la -p option est fournie, aucune recherche de chemin n'est effectuée,
ainsi que nom de fichier est utilisé comme nom de fichier complet de la commande. le -r l'option provoque le
shell pour oublier tous les emplacements mémorisés. le -d l'option fait oublier le shell
l'emplacement mémorisé de chacun prénom. Si l' -t l'option est fournie, le plein
chemin d'accès auquel chaque prénom correspond est imprimé. Si plusieurs prénom les arguments sont
fourni avec -t, prénom est imprimé avant le chemin d'accès complet haché. le -l
L'option provoque l'affichage de la sortie dans un format qui peut être réutilisé comme entrée. Si
aucun argument n'est donné, ou si seulement -l est fourni, des informations sur le souvenir
commandes est imprimé. Le statut de retour est vrai à moins qu'un prénom n'est pas trouvé ou un
une option non valide est fournie.

aider [-dms] [modèle]
Affichez des informations utiles sur les commandes intégrées. Si modèle est spécifié, aider
donne une aide détaillée sur toutes les commandes correspondant modèle; sinon aide pour tous les
Les commandes intégrées et les structures de contrôle du shell sont imprimées.
-d Affichez une brève description de chaque modèle
-m Afficher la description de chaque modèle dans un format de type page de manuel
-s Afficher uniquement un bref résumé d'utilisation pour chaque modèle

L'état de retour est 0 sauf si aucune commande ne correspond modèle.

Histoire [n]
Histoire -c
Histoire -d compenser
Histoire -anrw [nom de fichier]
Histoire -p arg [arg ]
Histoire -s arg [arg ]
Sans options, affiche la liste de l'historique des commandes avec les numéros de ligne. Lignes répertoriées
avec une * ont été modifiés. Un argument de n répertorie uniquement le dernier n lignes. Si la
variable shell FORMAT HEURE HIST est défini et non nul, il est utilisé comme chaîne de format
en strftime(3) pour afficher l'horodatage associé à chaque historique affiché
entrée. Aucun blanc intermédiaire n'est imprimé entre l'horodatage formaté et le
ligne d'histoire. Si nom de fichier est fourni, il est utilisé comme nom du fichier historique ;
sinon, la valeur de FICHIER HIST est utilisé. Les options, si elles sont fournies, ont les éléments suivants
significations :
-c Effacez la liste de l'historique en supprimant toutes les entrées.
-d compenser
Supprimer l'entrée de l'historique à la position compenser.
-a Ajouter les ``nouvelles'' lignes d'historique (lignes d'historique saisies depuis le début
du courant bash session) dans le fichier historique.
-n Lire les lignes d'historique pas déjà lues du fichier d'historique dans le
liste de l'historique actuel. Ce sont des lignes ajoutées au fichier historique depuis
le début du courant bash session.
-r Lisez le contenu du fichier historique et ajoutez-le à l'historique actuel
liste.
-w Écrire la liste d'historique actuelle dans le fichier d'historique, en écrasant l'historique
le contenu du fichier.
-p Effectuer la substitution d'historique sur les éléments suivants args et afficher le résultat sur
la sortie standard. Ne stocke pas les résultats dans la liste d'historique. Chaque
arg doit être entre guillemets pour désactiver l'expansion normale de l'historique.
-s Stocker le args dans l'historique en une seule entrée. La dernière commande dans
la liste d'historique est supprimée avant la args sont ajoutés.

Si la FORMAT HEURE HIST variable est définie, les informations d'horodatage associées à
chaque entrée d'historique est écrite dans le fichier d'historique, marquée avec le commentaire d'historique
personnage. Lors de la lecture du fichier historique, les lignes commençant par le commentaire historique
caractère suivi immédiatement d'un chiffre sont interprétés comme des horodatages pour le
ligne d'histoire précédente. La valeur de retour est 0 sauf si une option invalide est
rencontré, une erreur se produit lors de la lecture ou de l'écriture du fichier historique, une erreur
compenser est fourni comme argument à -d, ou l'extension d'historique fournie en tant que
argument -p échoue.

emplois [-lnprs] [ spécification de l'emploi ...]
emplois -x commander [ args ...]
Le premier formulaire répertorie les travaux actifs. Les options ont les significations suivantes :
-l Répertoriez les ID de processus en plus des informations normales.
-n Afficher les informations uniquement sur les travaux qui ont changé de statut depuis que l'utilisateur
a été informé pour la dernière fois de son statut.
-p Répertoriez uniquement l'ID de processus du chef de groupe de processus du travail.
-r Afficher uniquement les travaux en cours d'exécution.
-s Afficher uniquement les travaux arrêtés.

If spécification de l'emploi est donné, la sortie est limitée aux informations sur ce travail. le
l'état de retour est 0 sauf si une option invalide est rencontrée ou un invalide spécification de l'emploi is
fourni.

Si la -x l'option est fournie, emplois remplace tout spécification de l'emploi trouvé dans commander or args
avec l'ID de groupe de processus correspondant et exécute commander le passer args,
retournant son statut de sortie.

tuer [-s sigspec | -n signe | -sigspec] [Pid | spécification de l'emploi]...
tuer -l [sigspec | état_sortie]
Envoyer le signal nommé par sigspec or signe aux processus nommés par Pid or
spécification de l'emploi. sigspec est soit un nom de signal insensible à la casse tel que SIGTUER (avec ou
sans SIG préfixe) ou un numéro de signal ; signe est un numéro de signal. Si sigspec
n'est pas présent, alors SIGTERME est assumé. Un argument de -l répertorie les noms de signaux.
Si des arguments sont fournis lorsque -l est donné, les noms des signaux
correspondant aux arguments sont répertoriés, et le statut de retour est 0. Le
état_sortie argument -l est un nombre spécifiant soit un numéro de signal, soit le
état de sortie d'un processus terminé par un signal. tuer renvoie vrai si au moins un
le signal a été envoyé avec succès, ou faux si une erreur se produit ou une option invalide est
rencontré.

laisser arg [arg ...]
Chaque arg est une expression arithmétique à évaluer (voir ARITHMÉTIQUE ÉVALUATION
au dessus). Si le dernier arg vaut 0, laisser renvoie 1 ; 0 est retourné sinon.

locales [option] [prénom[=Plus-value] ...]
Pour chaque argument, une variable locale nommée prénom est créé et attribué Plus-valueL’
option peut être l'une des options acceptées par déclarer. Quand locales est utilisé dans un
fonction, il provoque la variable prénom avoir une portée visible limitée à cela
fonction et ses enfants. Sans opérande, locales écrit une liste de locaux
variables à la sortie standard. C'est une erreur à utiliser locales lorsqu'il n'est pas dans un
une fonction. Le statut de retour est 0 sauf si locales est utilisé en dehors d'une fonction, un
invalide prénom est fourni, ou prénom est une variable en lecture seule.

déconnexion Quittez un shell de connexion.

fichier de carte [-n compter] [-O origine] [-s compter] [-t] [-u fd] [-C rappeler] [-c quantum] [tableau]
tableau de lecture [-n compter] [-O origine] [-s compter] [-t] [-u fd] [-C rappeler] [-c quantum]
[tableau]
Lire les lignes de l'entrée standard dans la variable de tableau indexée tableauOu de
descripteur de fichier fd si le -u l'option est fournie. La variable FICHIER CARTE est
défaut tableau. Les options, si elles sont fournies, ont les significations suivantes :
-n Copier au maximum compter lignes. Si compter est 0, toutes les lignes sont copiées.
-O Commencer l'affectation à tableau à l'index origine. L'indice par défaut est 0.
-s Jeter le premier compter lignes lues.
-t Supprimez un saut de ligne à la fin de chaque ligne lue.
-u Lire les lignes du descripteur de fichier fd au lieu de l'entrée standard.
-C Évaluer rappeler à chaque fois quantum les lignes sont lues. le -c option spécifie
quantum.
-c Spécifiez le nombre de lignes lues entre chaque appel à rappeler.

If -C est spécifié sans -c, le quantum par défaut est 5000. Lorsque rappeler is
évalué, il est fourni l'indice du prochain élément du tableau à affecter et
la ligne à affecter à cet élément en tant qu'arguments supplémentaires. rappeler is
évalué après la lecture de la ligne mais avant l'affectation de l'élément du tableau.

S'il n'est pas fourni avec une origine explicite, fichier de carte effacera tableau avant d'attribuer
à elle.

fichier de carte renvoie avec succès sauf si une option ou un argument d'option invalide est
fourni, tableau est invalide ou incessible, ou si tableau n'est pas un tableau indexé.

popd [-n] [+n] [-n]
Supprime les entrées de la pile de répertoires. Sans arguments, supprime le haut
répertoire de la pile et effectue un cd dans le nouveau répertoire supérieur. Arguments,
s'ils sont fournis, ont les significations suivantes :
-n Supprime le changement normal de répertoire lors de la suppression de répertoires du
pile, de sorte que seule la pile est manipulée.
+n Supprime le nème entrée en partant de la gauche de la liste indiquée par dirs,
commençant par zéro. Par exemple : ``popd +0'' supprime le premier répertoire,
``popd +1'' le second.
-n Supprime le nème entrée en partant de la droite de la liste indiquée par dirs,
commençant par zéro. Par exemple : ``popd -0'' supprime le dernier répertoire,
``popd -1'' l'avant-dernier.

Si la popd la commande est réussie, un dirs est également effectué et le retour
le statut est 0. popd renvoie false si une option invalide est rencontrée, le répertoire
la pile est vide, une entrée de pile de répertoires inexistante est spécifiée ou le répertoire
le changement échoue.

printf [-v var] le format [arguments]
Écrire le formaté arguments à la sortie standard sous le contrôle du
le formatL’ -v L'option entraîne l'affectation de la sortie à la variable var plutôt
que d'être imprimé sur la sortie standard.

La le format est une chaîne de caractères qui contient trois types d'objets : plain
caractères, qui sont simplement copiés sur la sortie standard, séquences d'échappement de caractères,
qui sont convertis et copiés sur la sortie standard et les spécifications de format,
dont chacun provoque l'impression du prochain successif argument. En plus de
Standard printf(1) spécifications de format, printf interprète ce qui suit
rallonges :
%b les causes printf pour développer les séquences d'échappement de la barre oblique inverse dans le
argument (excepté \c termine la sortie, les barres obliques inverses dans \', \"et \?
ne sont pas supprimés et les échappements octaux commençant par \0 peut contenir jusqu'à quatre
chiffres).
%q les causes printf pour sortir le correspondant argument dans un format qui peut être
réutilisé comme entrée shell.
%(datefmt)T
les causes printf pour sortir la chaîne date-heure résultant de l'utilisation datefmt as
une chaîne de format pour strftime(3). Le correspondant argument est un entier
représentant le nombre de secondes depuis l'époque. Deux arguments particuliers
valeurs peuvent être utilisées : -1 représente l'heure actuelle, et -2 représente l'heure
moment où le shell a été invoqué. Si aucun argument n'est spécifié, la conversion se comporte
comme si -1 avait été donné. Ceci est une exception à l'habitude printf comportement.

Les arguments des spécificateurs de format non chaîne sont traités comme des constantes C, sauf qu'un
Le signe plus ou moins de début est autorisé, et si le caractère de début est un simple ou
guillemets doubles, la valeur est la valeur ASCII du caractère suivant.

La le format est réutilisé si nécessaire pour consommer tous les arguments. Si l' le format
demande plus arguments que ceux fournis, les spécifications de format supplémentaires se comportent
comme si une valeur zéro ou une chaîne nulle, selon le cas, avait été fournie. Le retour
la valeur est nulle en cas de succès, non nulle en cas d'échec.

pushd [-n] [+n] [-n]
pushd [-n] [dir]
Ajoute un répertoire en haut de la pile de répertoires ou fait pivoter la pile, ce qui rend
le nouveau sommet de la pile le répertoire de travail courant. Sans arguments,
échange les deux premiers répertoires et renvoie 0, sauf si la pile de répertoires est
vide. Les arguments, s'ils sont fournis, ont les significations suivantes :
-n Supprime le changement normal de répertoire lors de l'ajout de répertoires au
pile, de sorte que seule la pile est manipulée.
+n Fait pivoter la pile de sorte que le nème répertoire (en comptant à partir de la gauche du
liste affichée par dirs, commençant par zéro) est en haut.
-n Fait pivoter la pile de sorte que le nème répertoire (en comptant à partir de la droite du
liste affichée par dirs, commençant par zéro) est en haut.
dir Ajoute dir à la pile de répertoires en haut, ce qui en fait le nouveau courant
répertoire de travail comme s'il avait été fourni comme argument au cd
intégré.

Si la pushd la commande est réussie, un dirs est également exécuté. Si la première forme
est utilisé, pushd renvoie 0 à moins que le cd à dir échoue. Avec la deuxième forme, pushd
renvoie 0 sauf si la pile de répertoires est vide, une pile de répertoires inexistante
l'élément est spécifié, ou le répertoire passe au nouveau courant spécifié
le répertoire échoue.

pwd [-PL]
Affiche le chemin d'accès absolu du répertoire de travail actuel. Le chemin imprimé
ne contient aucun lien symbolique si le -P l'option est fournie ou le -o Physique option
à la set la commande intégrée est activée. Si la -L est utilisée, le chemin d'accès
imprimé peut contenir des liens symboliques. Le statut de retour est 0 sauf si une erreur se produit
lors de la lecture du nom du répertoire courant ou une option invalide est fournie.

lire [-ers] [-a un nom] [-d délimiter] [-i texte] [-n nchars] [-N nchars] [-p rapide] [-t
temps mort] [-u fd] [prénom ...]
Une ligne est lue depuis l'entrée standard ou depuis le descripteur de fichier fd fourni
comme argument à la -u option, et le premier mot est assigné au premier prénom,
le deuxième mot au deuxième prénom, et ainsi de suite, avec les mots restants et leurs
séparateurs intermédiaires affectés au dernier prénom. S'il y a moins de mots lus
à partir du flux d'entrée que les noms, les noms restants se voient attribuer des valeurs vides.
Les personnages de IFS sont utilisés pour diviser la ligne en mots en utilisant les mêmes règles
le shell utilise pour l'expansion (décrit ci-dessus sous Word Scission). La barre oblique inverse
caractère (\) peut être utilisé pour supprimer toute signification spéciale pour le prochain caractère lu
et pour la continuation de ligne. Les options, si elles sont fournies, ont les significations suivantes :
-a un nom
Les mots sont affectés à des indices séquentiels de la variable tableau un nom,
à partir de 0. un nom est désactivé avant que de nouvelles valeurs ne soient attribuées. Autre
prénom les arguments sont ignorés.
-d délimiter
Le premier personnage de délimiter est utilisé pour terminer la ligne d'entrée, plutôt
que la nouvelle ligne.
-e Si l'entrée standard provient d'un terminal, readline (voir LIRE LA LIGNE
ci-dessus) est utilisé pour obtenir la ligne. Readline utilise le courant (ou par défaut,
si l'édition de ligne n'était pas active auparavant) les paramètres d'édition.
-i texte
If readline est utilisé pour lire la ligne, texte est placé dans l'édition
tampon avant le début de l'édition.
-n nchars
lire revient après lecture nchars personnages plutôt que d'attendre un
ligne complète d'entrée, mais respectez un délimiteur si moins de nchars
les caractères sont lus avant le délimiteur.
-N nchars
lire revient après avoir lu exactement nchars personnages plutôt que d'attendre
une ligne complète d'entrée, sauf si EOF est rencontré ou lire Le temps est écoulé.
Les caractères délimiteurs rencontrés dans l'entrée ne sont pas traités spécialement et
ne cause pas lire revenir jusqu'à nchars les caractères sont lus.
-p rapide
Commande rapide sur erreur standard, sans retour à la ligne, avant
essayer de lire une entrée. L'invite s'affiche uniquement si la saisie est
venant d'un terminal.
-r La barre oblique inverse n'agit pas comme un caractère d'échappement. La barre oblique inverse est considérée
faire partie de la lignée. En particulier, une paire barre oblique inverse-nouvelle ligne peut ne pas être
utilisé comme continuation de ligne.
-s Mode silencieux. Si l'entrée provient d'un terminal, les caractères ne sont pas renvoyés.
-t temps mort
Causes lire pour expirer et renvoyer un échec si une ligne complète d'entrée (ou un
nombre de caractères spécifié) n'est pas lu dans temps mort secondes. temps mort
peut être un nombre décimal avec une fraction après la virgule
point. Cette option n'est effective que si lire lit l'entrée d'un
terminal, tuyau ou autre fichier spécial ; il n'a aucun effet lors de la lecture de
fichiers normaux. Si lire fin du temps, lire enregistre toute entrée partielle lue dans
la variable spécifiée prénom. Si temps mort est 0, lire revient immédiatement,
sans essayer de lire les données. L'état de sortie est 0 si l'entrée est disponible
sur le descripteur de fichier spécifié, différent de zéro sinon. Le statut de sortie est
supérieur à 128 si le timeout est dépassé.
-u fd Lire l'entrée du descripteur de fichier fd.

Sinon noms sont fournis, la ligne lue est affectée à la variable RÉPONDREL’
le code de retour est zéro, sauf si la fin du fichier est rencontrée, lire expiration (au cours de laquelle
cas où le code retour est supérieur à 128), une erreur d'affectation de variable (telle que
l'affectation à une variable en lecture seule) se produit, ou un descripteur de fichier non valide est fourni
comme argument de -u.

lecture seulement [-aAf] [-p] [prénom[=mot] ...]
Le donné noms sont marqués en lecture seule ; les valeurs de ces noms ne peut pas être modifié
par affectation ultérieure. Si la -f l'option est fournie, les fonctions
correspondant à la noms sont si marqués. le -a L'option restreint les variables à
tableaux indexés ; la -A L'option restreint les variables aux tableaux associatifs. Si
les deux options sont fournies, -A a la priorité. Sinon prénom des arguments sont donnés, ou
si le -p est fournie, une liste de tous les noms en lecture seule est imprimée. L'autre
les options peuvent être utilisées pour restreindre la sortie à un sous-ensemble de l'ensemble de lecture seule
noms. Les -p l'option provoque l'affichage de la sortie dans un format qui peut être réutilisé
comme entrée. Si un nom de variable est suivi de =mot, la valeur de la variable est
ajuster à mot. Le statut de retour est 0 sauf si une option invalide est rencontrée, une
des noms n'est pas un nom de variable shell valide, ou -f est fourni avec un prénom qui
n'est pas une fonction.

retourner [n]
Provoque l'arrêt de l'exécution d'une fonction et renvoie la valeur spécifiée par n à son
votre interlocuteur. Si n est omis, le statut de retour est celui de la dernière commande exécutée dans
le corps de fonction. Si retourner est utilisé en dehors d'une fonction, mais lors de l'exécution d'un
script par le . (la source) commande, le shell arrête de l'exécuter
script et retourner soit n ou l'état de sortie de la dernière commande exécutée dans
le script comme état de sortie du script. Si n est fourni, la valeur de retour est
ses 8 bits les moins significatifs. Le statut de retour est différent de zéro si retourner est fourni
un argument non numérique, ou est utilisé en dehors d'une fonction et non pendant l'exécution d'un
script par . or la source. Toute commande associée au RETOUR le piège est exécuté
avant que l'exécution ne reprenne après la fonction ou le script.

set [--abefhkmnptuvxBCEHPT] [-o nom-option] [arg ...]
set [+abefhkmnptuvxBCEHPT] [+o nom-option] [arg ...]
Sans options, le nom et la valeur de chaque variable shell sont affichés dans un
format qui peut être réutilisé comme entrée pour le réglage ou la réinitialisation du
variables. Les variables en lecture seule ne peuvent pas être réinitialisées. Dans posix mode, seulement shell
les variables sont répertoriées. La sortie est triée en fonction des paramètres régionaux actuels. Lorsque
les options sont spécifiées, elles définissent ou annulent les attributs du shell. Tout argument restant
après le traitement des options sont traités comme des valeurs pour les paramètres de position et sont
assigné, dans l'ordre, à $1, $2, $n. Les options, si elles sont spécifiées, ont les éléments suivants
significations :
-a Marquer automatiquement les variables et les fonctions qui sont modifiées ou créées
pour l'exportation vers l'environnement des commandes suivantes.
-b Signaler immédiatement l'état des tâches d'arrière-plan terminées, plutôt que
avant la prochaine invite principale. Ceci n'est efficace que lorsque le contrôle des tâches est
activée.
-e Sortez immédiatement si un pipeline (qui peut consister en un seul simple
commander), Un listeOu un composé commander (voir SHELL GRAMMAIRE ci-dessus), sorties
avec un statut non nul. Le shell ne se ferme pas si la commande qui échoue
fait partie de la liste de commandes immédiatement après un tout en or jusqu'à mot-clé,
partie de l'épreuve à la suite de la if or Elif mots réservés, faisant partie de tout
commande exécutée dans un && or || list sauf la commande suivant la finale
&& or ||, toute commande dans un pipeline sauf la dernière, ou si la commande est
la valeur de retour est inversée avec !. Si une commande composée autre qu'un
le sous-shell renvoie un état différent de zéro car une commande a échoué pendant -e était
étant ignoré, le shell ne se ferme pas. Un piège sur ERR, si défini, est exécuté
avant que la coquille ne sorte. Cette option s'applique à l'environnement shell et
chaque environnement de sous-shell séparément (voir COMMAND EXÉCUTION ENVIRONNEMENT
ci-dessus), et peut provoquer la fermeture des sous-shells avant d'exécuter toutes les commandes
dans la sous-couche.

Si une commande composée ou une fonction shell s'exécute dans un contexte où -e is
étant ignoré, aucune des commandes exécutées dans la commande composée ou
corps de fonction sera affecté par le -e réglage, même si -e est défini et un
La commande renvoie un état d'échec. Si une commande composée ou une fonction shell
ensembles -e tout en s'exécutant dans un contexte où -e est ignoré, ce paramètre sera
n'aura aucun effet tant que la commande composée ou la commande contenant
l'appel de fonction se termine.
-f Désactivez l'extension du nom de chemin.
-h Souvenez-vous de l'emplacement des commandes lorsqu'elles sont recherchées pour exécution.
C'est activé par défault.
-k Tous les arguments sous forme d'instructions d'affectation sont placés dans le
environnement pour une commande, pas seulement ceux qui précèdent le nom de la commande.
-m Mode moniteur. Le contrôle des tâches est activé. Cette option est activée par défaut pour
shells interactifs sur les systèmes qui le prennent en charge (voir JOB CONTRÔLE au dessus). Tout
les processus s'exécutent dans un groupe de processus distinct. Quand un travail d'arrière-plan
se termine, le shell imprime une ligne contenant son état de sortie.
-n Lisez les commandes mais ne les exécutez pas. Cela peut être utilisé pour vérifier un shell
script pour les erreurs de syntaxe. Ceci est ignoré par les shells interactifs.
-o nom-option
La nom-option peut être l'un des suivants :
toutexporter
Pareil que -a.
accolade développer
Pareil que -B.
emacs Utilisez une interface d'édition de ligne de commande de style emacs. Ceci est activé
par défaut lorsque le shell est interactif, sauf si le shell est
a commencé avec le --pas de modification option. Cela affecte également l'édition
interface utilisée pour lire -e.
erresort Pareil que -e.
erreur
Pareil que -E.
fonction
Pareil que -T.
hashall Pareil que -h.
histétendre
Pareil que -H.
Histoire Activer l'historique des commandes, comme décrit ci-dessus sous HISTOIRE. Ce
L'option est activée par défaut dans les shells interactifs.
ignorer
L'effet est comme si la commande shell ``IGNOREEOF=10'' avait été
exécuté (voir coquillage Variables au dessus de).
mot-clé Pareil que -k.
moniteur Pareil que -m.
nul
Pareil que -C.
noexec Pareil que -n.
noglob Pareil que -f.
nolog Actuellement ignoré.
notifier Pareil que -b.
nom Pareil que -u.
un cmd Pareil que -t.
Physique
Pareil que -P.
panne de canalisation
S'il est défini, la valeur de retour d'un pipeline est la valeur du dernier
commande (la plus à droite) pour quitter avec un état différent de zéro, ou zéro si tout
les commandes dans le pipeline se terminent avec succès. Cette option est
désactivé par défaut.
posix Changer le comportement de bash où l'opération par défaut diffère
de la norme POSIX pour correspondre à la norme (posix mode). Voir
VOIR AUSSI ci-dessous pour une référence à un document qui détaille comment posix
mode affecte le comportement de bash.
privilégié
Pareil que -p.
verbeux Pareil que -v.
vi Utilisez une interface d'édition de ligne de commande de style vi. Cela affecte également
l'interface d'édition utilisée pour lire -e.
x trace Pareil que -x.
If -o est fourni sans nom-option, les valeurs des options courantes
sont imprimés. Si +o est fourni sans nom-option, une série de set
commandes pour recréer les paramètres d'option actuels s'affiche sur le
sortie standard.
-p allumer privilégié mode. Dans ce mode, le $ENV ainsi que $BASH_ENV les fichiers sont
non traitées, les fonctions shell ne sont pas héritées de l'environnement, et
le COQUILLAGES, BACHETS, CDPATHet GLOBIGNORE variables, si elles apparaissent
dans l'environnement, sont ignorés. Si le shell est démarré avec le
l'identifiant effectif de l'utilisateur (groupe) n'est pas égal à l'identifiant réel de l'utilisateur (groupe) et -p
l'option n'est pas fournie, ces actions sont prises et l'ID utilisateur effectif
est défini sur l'ID utilisateur réel. Si la -p l'option est fournie au démarrage, le
l'ID utilisateur effectif n'est pas réinitialisé. La désactivation de cette option provoque le
les identifiants d'utilisateur et de groupe effectifs doivent être définis sur les identifiants d'utilisateur et de groupe réels.
-t Quittez après avoir lu et exécuté une commande.
-u Traiter les variables et paramètres non définis autres que les paramètres spéciaux "@"
et "*" comme erreur lors de l'expansion des paramètres. Si l'expansion est
tenté sur une variable ou un paramètre non défini, le shell affiche une erreur
message et, s'il n'est pas interactif, sort avec un état non nul.
-v Imprimez les lignes d'entrée du shell au fur et à mesure qu'elles sont lues.
-x Après avoir élargi chaque simple commander, en commander, maisons commander, Sélectionner
commande ou arithmétique en commande, affiche la valeur développée de PS4,
suivi de la commande et de ses arguments développés ou de la liste de mots associée.
-B Le shell effectue une expansion des accolades (voir Entretoise Expansion au dessus). C'est sur
par défaut.
-C Si défini, bash n'écrase pas un fichier existant avec le >, >&et <>
opérateurs de redirection. Cela peut être remplacé lors de la création de fichiers de sortie
en utilisant l'opérateur de redirection >| au lieu de >.
-E S'il est défini, tout piège activé ERR est hérité par les fonctions shell, la commande
substitutions et commandes exécutées dans un environnement de sous-shell. le ERR
le piège n'est normalement pas hérité dans de tels cas.
-H Activer ! substitution d'histoire de style. Cette option est activée par défaut lorsque
le shell est interactif.
-P Si défini, le shell ne résout pas les liens symboliques lors de l'exécution des commandes
tel que cd qui changent le répertoire de travail courant. Il utilise la physique
structure de répertoire à la place. Par défaut, bash suit la chaîne logique de
répertoires lors de l'exécution de commandes qui modifient le répertoire courant.
-T S'il est défini, tous les pièges activés DEBUG ainsi que RETOUR sont hérités par les fonctions shell,
les substitutions de commandes et les commandes exécutées dans un environnement de sous-shell.
La DEBUG ainsi que RETOUR les pièges ne sont normalement pas hérités dans de tels cas.
-- Si aucun argument ne suit cette option, les paramètres positionnels sont
désactivé. Sinon, les paramètres de position sont réglés sur args, même si
certains d'entre eux commencent par un -.
- Signalez la fin des options, causez tout ce qui reste args à affecter au
paramètres positionnels. le -x ainsi que -v les options sont désactivées. S'il y a
aucune args, les paramètres de position restent inchangés.

Les options sont désactivées par défaut, sauf indication contraire. Utiliser + plutôt que -
entraîne la désactivation de ces options. Les options peuvent également être spécifiées comme
arguments à une invocation du shell. L'ensemble actuel d'options peut être trouvé
in $-. Le statut de retour est toujours vrai sauf si une option non valide est rencontrée.

décalage [n]
Les paramètres de position de n+1 ... sont renommés en $1 .... Paramètres
représenté par les nombres $# jusqu'à $#-n+1 ne sont pas définis. n doit être non négatif
nombre inférieur ou égal à $#. Si n est 0, aucun paramètre n'est modifié. Si n is
non donné, il est supposé être égal à 1. Si n est supérieure $#, le positionnel
les paramètres ne sont pas modifiés. Le statut de retour est supérieur à zéro si n est plus grand
que $# ou inférieur à zéro ; sinon 0.

magasiner [-pqsu] [-o] [nomop ...]
Basculez les valeurs des paramètres contrôlant le comportement facultatif du shell. Les paramètres
peuvent être soit ceux listés ci-dessous, soit, si le -o option est utilisée, celles disponibles
les -o option à la set commande intégrée. Sans options, ou avec le -p
option, une liste de toutes les options réglables s'affiche, avec une indication
ou non chacun est défini. le -p option provoque l'affichage de la sortie sous une forme qui peut
être réutilisé comme entrée. Les autres options ont les significations suivantes :
-s Activer (définir) chaque nomop.
-u Désactiver (désactiver) chacun nomop.
-q Supprime la sortie normale (mode silencieux); le statut de retour indique si
le nomop est activé ou désactivé. Si plusieurs nomop les arguments sont donnés avec
-q, le statut de retour est zéro si tous noms d'opt sont activés ; non nul
autrement.
-o Limite les valeurs de nomop être celles définies pour le -o option à la
set intégré.

Si soit -s or -u est utilisé sans nomop arguments, magasiner ne montre que ceux
options définies ou non définies, respectivement. Sauf indication contraire, le magasiner
les options sont désactivées (désactivées) par défaut.

Le statut de retour lors de la liste des options est zéro si tous noms d'opt sont activés, non-
zéro sinon. Lors de la définition ou de la désactivation des options, l'état de retour est zéro
à moins qu'un nomop n'est pas une option shell valide.

La liste des magasiner options est :

autocd S'il est défini, un nom de commande qui est le nom d'un répertoire est exécuté comme s'il
étaient l'argument du cd commander. Cette option n'est utilisée que par
coquilles interactives.
cdable_vars
S'il est défini, un argument de cd la commande intégrée qui n'est pas un répertoire est
supposé être le nom d'une variable dont la valeur est le répertoire à modifier
à.
cdspell Si défini, des erreurs mineures dans l'orthographe d'un composant de répertoire dans un cd
commande sera corrigée. Les erreurs vérifiées sont transposées
caractères, un caractère manquant et un caractère de trop. Si un
correction est trouvée, le nom de fichier corrigé est imprimé et la commande
procède. Cette option n'est utilisée que par les shells interactifs.
vérifier le hachage
Si défini, bash vérifie qu'une commande présente dans la table de hachage existe avant
essayant de l'exécuter. Si une commande hachée n'existe plus, un chemin normal
recherche est effectuée.
chèques
Si défini, bash répertorie l'état de tous les travaux arrêtés et en cours d'exécution avant
sortie d'un shell interactif. Si des travaux sont en cours d'exécution, cela provoque le
la sortie doit être différée jusqu'à ce qu'une deuxième sortie soit tentée sans intervention
commande (voir JOB CONTRÔLE au dessus). Le shell reporte toujours la sortie le cas échéant
les travaux sont arrêtés.
vérifier la taille
Si défini, bash vérifie la taille de la fenêtre après chaque commande et, si nécessaire,
met à jour les valeurs de LIGNES ainsi que COLONNES.
cmdhiste Si défini, bash tente d'enregistrer toutes les lignes d'une commande multiligne dans le
même entrée d'historique. Cela permet une réédition facile des commandes multilignes.
compatible31
Si défini, bash change son comportement à celui de la version 3.1 en ce qui concerne
a cité des arguments au [[ commande conditionnelle =~ opérateur et paramètres régionaux-
comparaison de chaînes spécifique lors de l'utilisation de [[ commande conditionnelle < ainsi que >
les opérateurs. Les versions de Bash antérieures à bash-4.1 utilisent le classement ASCII et
strcmp(3); bash-4.1 et versions ultérieures utilisent la séquence de classement des paramètres régionaux actuels
ainsi que marcher (3).
compatible32
Si défini, bash change son comportement à celui de la version 3.2 en ce qui concerne
comparaison de chaînes spécifiques aux paramètres régionaux lors de l'utilisation de [[ commande conditionnelle <
ainsi que > opérateurs (voir point précédent).
compatible40
Si défini, bash change son comportement à celui de la version 4.0 en ce qui concerne
comparaison de chaînes spécifiques aux paramètres régionaux lors de l'utilisation de [[ commande conditionnelle <
ainsi que > opérateurs (voir la description de compatible31) et l'effet de
interrompre une liste de commandes. Les versions 4.0 et ultérieures de Bash interrompent le
liste comme si le shell avait reçu l'interruption ; les versions précédentes continuent
avec la commande suivante dans la liste.
compatible41
Si défini, bash, quand à posix mode, traite un guillemet simple dans un guillemet double
extension de paramètre en tant que caractère spécial. Les guillemets simples doivent correspondre
(un nombre pair) et les caractères entre guillemets simples sont
considéré comme cité. C'est le comportement du mode posix jusqu'à la version 4.1.
Le comportement bash par défaut reste comme dans les versions précédentes.
compatible42
Si défini, bash ne traite pas la chaîne de remplacement dans le modèle
expansion du mot de substitution à l'aide de la suppression des guillemets.
complete_fullquote
Si défini, bash cite tous les métacaractères du shell dans les noms de fichiers et le répertoire
noms lors de l'exécution de l'achèvement. S'il n'est pas défini, bash supprime les métacaractères
comme le signe dollar du jeu de caractères qui sera cité dans
noms de fichiers complétés lorsque ces métacaractères apparaissent dans la variable shell
références en mots à compléter. Cela signifie que le dollar signe dans
les noms de variables qui se développent en répertoires ne seront pas entre guillemets ; cependant, tout
les signes dollar apparaissant dans les noms de fichiers ne seront pas non plus cités. C'est
actif uniquement lorsque bash utilise des barres obliques inverses pour citer les noms de fichiers complets.
Cette variable est définie par défaut, qui est le comportement bash par défaut dans
versions jusqu'à 4.2.
étendre
Si défini, bash remplace les noms de répertoires par les résultats de l'expansion des mots
lors de la complétion du nom de fichier. Cela modifie le contenu du
tampon d'édition readline. S'il n'est pas défini, bash tente de préserver ce que
tapé par l'utilisateur.
dissipation
Si défini, bash tente de corriger l'orthographe des noms de répertoires pendant le mot
achèvement si le nom de répertoire fourni initialement n'existe pas.
pointglob Si défini, bash inclut les noms de fichiers commençant par un `.' dans les résultats de
extension du nom de chemin.
échec de l'exécution
Si défini, un shell non interactif ne se fermera pas s'il ne peut pas exécuter le fichier
spécifié comme argument de la exec commande intégrée. Une coque interactive
ne sort pas si exec échoue.
expand_aliases
S'ils sont définis, les alias sont développés comme décrit ci-dessus sous ALIASES. Cette option
est activé par défaut pour les shells interactifs.
extdebug
S'il est défini, le comportement destiné à être utilisé par les débogueurs est activé :
1. La -F option à la déclarer builtin affiche le nom du fichier source
et le numéro de ligne correspondant à chaque nom de fonction fourni en tant que
argument.
2. Si la commande exécutée par le DEBUG trap renvoie une valeur non nulle, le
la commande suivante est ignorée et non exécutée.
3. Si la commande exécutée par le DEBUG trap renvoie une valeur de 2, et le
shell s'exécute dans un sous-programme (une fonction shell ou un shell
script exécuté par le . or la source builtins), un appel à retourner is
simulé.
4. BASH_ARGC ainsi que BASH_ARGV sont mis à jour comme décrit dans leur
descriptifs ci-dessus.
5. Le traçage des fonctions est activé : substitution de commandes, fonctions shell,
et les sous-interpréteurs invoqués avec ( commander ) hériter du DEBUG ainsi que RETOUR
pièges.
6. Le suivi des erreurs est activé : substitution de commandes, fonctions shell,
et les sous-interpréteurs invoqués avec ( commander ) hériter du ERR piège.
extglob Si elles sont définies, les fonctions de correspondance de modèle étendues décrites ci-dessus sous
Chemin d'accès Expansion sont activés.
guillemet
Si défini, $'un magnifique' et $"un magnifique" la citation est effectuée dans ${paramètre}
expansions entre guillemets doubles. Cette option est activée par défaut.
échecglob
Si défini, les modèles qui ne correspondent pas aux noms de fichiers lors de l'expansion du nom de chemin
entraîner une erreur d'expansion.
force_fignore
S'ils sont définis, les suffixes spécifiés par le FIGURER variable shell provoque des mots
être ignoré lors de la complétion de mots même si les mots ignorés sont
les seules finitions possibles. Voir SHELL VARIABLES ci-dessus pour une description
of FIGURER. Cette option est activée par défaut.
gammes globales
Si défini, les expressions de plage utilisées dans les expressions entre parenthèses de correspondance de modèle (voir
Patron de Couture Des ci-dessus) se comportent comme s'ils étaient dans la locale C traditionnelle lorsque
effectuer des comparaisons. C'est-à-dire que la séquence d'assemblage des paramètres régionaux actuels
n'est pas pris en compte, donc b ne croisera pas entre A ainsi que Bet
les caractères ASCII majuscules et minuscules seront assemblés.
étoile mondiale
S'il est défini, le modèle ** utilisé dans un contexte d'expansion de nom de chemin correspondra à tous
fichiers et zéro ou plusieurs répertoires et sous-répertoires. Si le motif est
suivie d'une /, seuls les répertoires et sous-répertoires correspondent.
gnu_errfmt
Si défini, les messages d'erreur du shell sont écrits dans le message d'erreur GNU standard
le format.
histappend
S'il est défini, la liste d'historique est ajoutée au fichier nommé par la valeur du
FICHIER HIST variable lorsque le shell se termine, plutôt que d'écraser le fichier.
historiquemodifier
Si défini, et readline est utilisé, un utilisateur a la possibilité de re-
modifier une substitution d'historique ayant échoué.
vérifier
Si défini, et readline est utilisé, les résultats de la substitution d'historique sont
pas immédiatement transmis à l'analyseur shell. Au lieu de cela, la ligne résultante est
chargé dans le readline tampon d'édition, permettant d'autres modifications.
hôtecomplet
Si défini, et readline est en train d'être utilisé, bash tentera d'effectuer le nom d'hôte
l'achèvement lorsqu'un mot contenant un @ est en cours d'achèvement (voir Fin
sous LIRE LA LIGNE au dessus). C'est activé par défault.
huponexit
Si défini, bash enverra VUE D'ENSEMBLE à tous les travaux lorsqu'un shell de connexion interactif
sorties.
commentaires_interactifs
Si défini, autoriser un mot commençant par # pour causer ce mot et tout ce qui reste
caractères sur cette ligne à ignorer dans un shell interactif (voir COMMENTAIRES
au dessus). Cette option est activée par défaut.
dernier tuyau
S'il est défini et que le contrôle des tâches n'est pas actif, le shell exécute la dernière commande d'un
pipeline non exécuté en arrière-plan dans l'environnement shell actuel.
lithiste S'il est défini, et le cmdhiste est activée, les commandes multilignes sont enregistrées dans
l'historique avec des retours à la ligne intégrés plutôt que d'utiliser des séparateurs point-virgule
lorsque c'est possible.
connexion_shell
Le shell définit cette option s'il est démarré en tant que shell de connexion (voir
INVOCATION au dessus). La valeur ne peut pas être modifiée.
avertissement
S'il est défini, et un fichier qui bash vérifie le courrier a été accédé depuis
la dernière fois qu'il a été vérifié, le message ``Le courrier dans fichier courrier a été
lire'' s'affiche.
no_empty_cmd_completion
Si défini, et readline est en train d'être utilisé, bash ne tentera pas de rechercher le
PATH pour les complétions possibles lorsque la complétion est tentée sur un vide
ligne.
nocaseglob
Si défini, bash correspond aux noms de fichiers sans tenir compte de la casse lorsque
exécutant l'expansion du nom de chemin (voir Chemin d'accès Expansion au dessus de).
aucune correspondance de cas
Si défini, bash correspond aux motifs sans tenir compte de la casse lors de l'exécution
correspondance lors de l'exécution maisons or [[ commandes conditionnelles.
nullglobe
Si défini, bash autorise les modèles qui ne correspondent à aucun fichier (voir Chemin d'accès Expansion
ci-dessus) pour développer une chaîne nulle, plutôt qu'eux-mêmes.
compcomp de programme
Si elles sont définies, les fonctions de complétion programmables (voir Programmable Aboutissement
ci-dessus) sont activés. Cette option est activée par défaut.
variables d'invite
Si elles sont définies, les chaînes d'invite subissent une extension de paramètre, une substitution de commande,
expansion arithmétique et suppression des guillemets après avoir été développée comme décrit
in INVITATION au dessus. Cette option est activée par défaut.
restrict_shell
Le shell active cette option s'il est démarré en mode restreint (voir
LIMITÉ SHELL au dessous de). La valeur ne peut pas être modifiée. Ce n'est pas réinitialisé
lorsque les fichiers de démarrage sont exécutés, permettant aux fichiers de démarrage de découvrir
si oui ou non un shell est restreint.
shift_verbose
S'il est défini, le décalage builtin imprime un message d'erreur lorsque le nombre de décalages
dépasse le nombre de paramètres de position.
chemin source
S'il est défini, le la source (.) builtin utilise la valeur de PATH pour trouver le répertoire
contenant le fichier fourni en argument. Cette option est activée par
défaut.
xpg_echo
S'il est défini, le echo builtin développe les séquences d'échappement antislash par défaut.

suspendre [-f]
Suspendre l'exécution de ce shell jusqu'à ce qu'il reçoive un SUIVANT signal. Une connexion
la coque ne peut pas être suspendue ; la -f L'option peut être utilisée pour remplacer cela et forcer le
suspension. Le statut de retour est 0 sauf si le shell est un shell de connexion et -f n'est pas
fourni ou si le contrôle des travaux n'est pas activé.

tester expr
[ expr ]
Renvoie un statut de 0 (vrai) ou 1 (faux) selon l'évaluation de la
expression conditionnelle expr. Chaque opérateur et opérande doit être un
argument. Les expressions sont composées des primaires décrites ci-dessus sous
CONDITIONNEL EXPRESSIONS. tester n'accepte aucune option, ni n'accepte et
ignorer un argument de -- comme signifiant la fin des options.

Les expressions peuvent être combinées à l'aide des opérateurs suivants, classés par ordre décroissant
ordre de préséance. L'évaluation dépend du nombre d'arguments ; voir ci-dessous.
La priorité des opérateurs est utilisée lorsqu'il y a cinq arguments ou plus.
! expr Vrai si expr c'est faux.
( expr )
Renvoie la valeur de expr. Cela peut être utilisé pour remplacer la normale
priorité des opérateurs.
expression1 -a expression2
Vrai si les deux expression1 ainsi que expression2 sont vrai.
expression1 -o expression2
Vrai si soit expression1 or expression2 est vrai.

tester ainsi que [ évaluer les expressions conditionnelles à l'aide d'un ensemble de règles basées sur
nombre d'arguments.

Arguments 0
L'expression est fausse.
1 argumentation
L'expression est vraie si et seulement si l'argument n'est pas nul.
Arguments 2
Si le premier argument est !, l'expression est vraie si et seulement si la seconde
argument est nul. Si le premier argument est l'un des conditionnels unaires
opérateurs énumérés ci-dessus sous CONDITIONNEL EXPRESSIONS, l'expression est vraie
si le test unaire est vrai. Si le premier argument n'est pas un unaire valide
opérateur conditionnel, l'expression est fausse.
Arguments 3
Les conditions suivantes sont appliquées dans l'ordre indiqué. Si le deuxième
argument est l'un des opérateurs conditionnels binaires répertoriés ci-dessus sous
CONDITIONNEL EXPRESSIONS, le résultat de l'expression est le résultat de la
test binaire utilisant les premier et troisième arguments comme opérandes. le -a ainsi que -o
les opérateurs sont considérés comme des opérateurs binaires lorsqu'il y a trois arguments.
Si le premier argument est !, la valeur est la négation des deux arguments
test en 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 à un argument
du deuxième argument. Sinon, l'expression est fausse.
Arguments 4
Si le premier argument est !, le résultat est la négation du triple argument
expression composée des arguments restants. Sinon, l'expression
est analysé et évalué selon la priorité en utilisant les règles répertoriées
au dessus.
5 arguments ou plus
L'expression est analysée et évaluée selon la priorité à l'aide de la
règles énumérées ci-dessus.

Lorsqu'il est utilisé avec tester or [, < ainsi que > les opérateurs trient lexicographiquement en utilisant ASCII
commande.

fois Imprimer les temps utilisateur et système accumulés pour le shell et pour les processus exécutés
de la coquille. Le statut de retour est 0.

piège [-lp] [[arg] sigspec ...]
La commande arg doit être lu et exécuté lorsque le shell reçoit le(s) signal(s)
sigspec. Si arg est absent (et il n'y a qu'un seul sigspec) ou -, chacun spécifié
signal est réinitialisé à sa disposition d'origine (la valeur qu'il avait à l'entrée du
coquille). Si arg est la chaîne nulle le signal spécifié par chaque sigspec est ignoré
par le shell et par les commandes qu'il invoque. Si arg n'est pas présent et -p a été
fourni, puis les commandes de déroutement associées à chaque sigspec sont affichés. Sinon
arguments sont fournis ou si seulement -p est donné, piège imprime la liste des commandes
associé à chaque signal. le -l option oblige le shell à imprimer une liste de
les noms des signaux et leurs numéros correspondants. Chaque sigspec est soit un nom de signal
défini danssignal.h>, ou un numéro de signal. Les noms de signal sont insensibles à la casse et
le SIG le préfixe est facultatif.

Si un sigspec is EXIT (0) la commande arg est exécuté à la sortie du shell. Si un
sigspec is DEBUG, la commande arg est exécuté avant chaque simple commander, en
commander, maisons commander, Sélectionner commande, chaque arithmétique en commande, et avant la
la première commande s'exécute dans une fonction shell (voir SHELL GRAMMAIRE au dessus). Se référer au
descriptif de la extdebug option à la magasiner builtin pour les détails de son effet
sur le DEBUG piège. Si un sigspec is RETOUR, la commande arg est exécuté à chaque fois qu'un
fonction shell ou un script exécuté avec la . or la source finitions encastrées
exécution.

Si un sigspec is ERR, la commande arg est exécuté chaque fois qu'un pipeline (qui peut
consiste en une seule commande simple), une liste ou une commande composée renvoie une
statut de sortie non nul, sous réserve des conditions suivantes. le ERR le piège n'est pas
exécutée si la commande qui a échoué fait partie de la liste de commandes immédiatement après une
tout en or jusqu'à mot-clé, partie du test dans un if instruction, partie d'une commande
exécuté dans un && or || list sauf la commande suivant la finale && or ||, tout
commande dans un pipeline mais le dernier, ou si la valeur de retour de la commande est en cours
inversé en utilisant !. Ce sont les mêmes conditions auxquelles obéissent les erresort (-e) option.

Les signaux ignorés lors de l'entrée dans le shell ne peuvent pas être piégés ou réinitialisés. Piégé
les signaux qui ne sont pas ignorés sont réinitialisés à leurs valeurs d'origine dans un sous-shell
ou un environnement de sous-shell lors de sa création. Le statut de retour est faux le cas échéant
sigspec est invalide; autrement piège renvoie vrai.

type [-aftpP] prénom [prénom ...]
Sans options, indiquez comment chaque prénom serait interprété s'il était utilisé comme une commande
Nom. Si la -t l'option est utilisée, type imprime une chaîne qui est l'une des alias,
mot-clé, fonction, builtinou filet if prénom est un alias, mot réservé du shell,
fonction, intégré ou fichier disque, respectivement. Si la prénom n'est pas trouvé, alors
rien n'est imprimé et un état de sortie de false est renvoyé. Si la -p option est
utilisé, type soit renvoie le nom du fichier disque qui serait exécuté si prénom
ont été spécifiés comme nom de commande, ou rien si ``type -t nom'' ne renvoyait pas
filetL’ -P l'option force un PATH rechercher chaque prénom, même si ``type -t nom''
ne reviendrait pas filet. Si une commande est hachée, -p ainsi que -P imprimer la valeur hachée,
qui n'est pas nécessairement le fichier qui apparaît en premier dans PATH. Si l' -a option est
utilisé, type imprime tous les endroits qui contiennent un exécutable nommé prénom. Ce
inclut des alias et des fonctions, si et seulement si le -p l'option n'est pas également utilisée. le
la table des commandes hachées n'est pas consultée lors de l'utilisation -aL’ -f option supprime
recherche de fonction shell, comme avec le commander intégré. type renvoie vrai si tout
les arguments sont trouvés, false s'il n'y en a pas.

ulimit [-HSTabcdefilmnpqrstuvx [limite]]
Permet de contrôler les ressources disponibles pour le shell et les processus démarrés
par lui, sur des systèmes qui permettent un tel contrôle. le -H ainsi que -S les options spécifient que le
une limite stricte ou souple est définie pour la ressource donnée. Une limite stricte ne peut pas être augmentée
par un utilisateur non root une fois qu'il est défini ; une limite souple peut être augmentée jusqu'à la valeur de
la limite dure. Si ni l'un ni l'autre -H ni -S est spécifié, à la fois les limites souples et dures
sont définis. La valeur de limite peut être un nombre dans l'unité spécifiée pour la ressource
ou l'une des valeurs spéciales dur, qualité, que vous pourrez utilisé ou illimité, qui représentent le courant
limite stricte, la limite souple actuelle et aucune limite, respectivement. Si limite is
omis, la valeur actuelle de la limite souple de la ressource est imprimée, à moins que la
-H l'option est donnée. Lorsque plusieurs ressources sont spécifiées, le nom de la limite et
l'unité sont imprimées avant la valeur. Les autres options sont interprétées comme suit :
-a Toutes les limites 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é de planification maximale ("nice")
-f La taille maximale des fichiers écrits par le shell et ses enfants
-i Le nombre maximum de signaux en attente
-l La taille maximale pouvant être verrouillée en mémoire
-m La taille maximale de l'ensemble résident (de nombreux systèmes ne respectent pas cette limite)
-n Le nombre maximum de descripteurs de fichiers ouverts (la plupart des systèmes ne le permettent pas
valeur à régler)
-p La taille du canal en blocs de 512 octets (cela peut ne pas être défini)
-q Le nombre maximal d'octets dans les files d'attente de messages POSIX
-r La priorité maximale de planification en temps réel
-s La taille maximale de la pile
-t La quantité maximale de temps CPU en secondes
-u Le nombre maximum de processus disponibles pour un seul utilisateur
-v La quantité maximale de mémoire virtuelle disponible pour le shell et, sur certains
systèmes, à ses enfants
-x Le nombre maximum de verrous de fichiers
-T Le nombre maximum de threads

If limite est donné, et le -a l'option n'est pas utilisée, limite est la nouvelle valeur de
ressource spécifiée. Si aucune option n'est donnée, alors -f est assumé. Les valeurs sont dans
incréments de 1024 octets, sauf pour -t, qui est en secondes ; -p, qui est en unités de
blocs de 512 octets ; et -T, -b, -net -u, qui sont des valeurs non mises à l'échelle. Le retour
le statut est 0 sauf si une option ou un argument non valide est fourni ou si une erreur se produit
tout en fixant une nouvelle limite.

umask [-p] [-S] [mode]
Le masque de création de fichier utilisateur est défini sur mode. Si mode commence par un chiffre, c'est
interprété comme un nombre octal ; sinon il est interprété comme un masque de mode symbolique
semblable à celui accepté par chmod(1). Si mode est omise, la valeur actuelle du
le masque est imprimé. le -S l'option entraîne l'impression du masque sous forme symbolique ; la
la sortie par défaut est un nombre octal. Si la -p l'option est fournie, et mode is
omis, la sortie est sous une forme qui peut être réutilisée comme entrée. Le statut de retour est
0 si le mode a été changé avec succès ou si non mode argument a été fourni, et
faux sinon.

Unalias [-a] [prénom ...]
Supprimer chaque prénom de la liste des alias définis. Si -a est fourni, tous les alias
les définitions sont supprimées. La valeur de retour est true à moins qu'une valeur fournie prénom n'est pas un
alias défini.

unset [-fv] [-n] [prénom ...]
Pour chaque prénom, supprimez la variable ou la fonction correspondante. Si la -v option est
donné, chacun prénom fait référence à une variable shell, et cette variable est supprimée. Lire-
seules les variables ne peuvent pas être désactivées. Si -f est spécifié, chaque prénom fait référence à une coque
fonction et la définition de la fonction est supprimée. Si la -n l'option est fournie,
ainsi que prénom est une variable avec nomref attribut, prénom sera désarmé plutôt que
la variable à laquelle il fait référence. -n n'a aucun effet si le -f l'option est fournie. Sinon
options sont fournies, chacune prénom fait référence à une variable ; s'il n'y a pas de variable par
ce nom, toute fonction portant ce nom est désactivée. Chaque variable ou fonction non définie
est supprimé de l'environnement passé aux commandes suivantes. Si l'un de
COMP_WORDBREAKS, RANDOM, SECONDS, LINNO, HISTMCMD, NOM DE FONCTION, GROUPESou CHEMINÉE
sont désactivés, ils perdent leurs propriétés spéciales, même s'ils sont ensuite réinitialisés.
Le statut de sortie est vrai à moins qu'un prénom est en lecture seule.

attendez [-n] [n ]
Attend chaque processus enfant spécifié et renvoie son état de terminaison. Chaque n
peut être un ID de processus ou une spécification de travail ; si une spécification de travail est donnée, tous les processus
dans le pipeline de ce travail sont attendus. Si n n'est pas donné, tous actuellement actifs
les processus enfants sont attendus et le statut de retour est zéro. Si la -n option est
fourni, attendez attend que n'importe quel travail se termine et renvoie son état de sortie. Si n
spécifie un processus ou un travail inexistant, le statut de retour est 127. Sinon, le
état de retour est l'état de sortie du dernier processus ou travail attendu.

LIMITÉ SHELL


If bash commence par le nom rbashou de la -r l'option est fournie à l'appel, la
shell devient restreint. Un shell restreint est utilisé pour configurer un environnement plus
contrôlé que le shell standard. Il se comporte de manière identique à bash à l'exception
que les actions suivantes sont interdites ou non exécutées :

· changer de répertoire avec cd

· paramétrer ou annuler les valeurs de SHELL, PATH, ENVou BASH_ENV

· en spécifiant des noms de commandes contenant /

· en spécifiant un nom de fichier contenant un / comme argument à la . commande intégrée

· en spécifiant un nom de fichier contenant une barre oblique comme argument du -p option à la
hachage commande intégrée

· importation des définitions de fonctions depuis l'environnement shell au démarrage

· l'analyse de la valeur de COQUILLAGES à partir de l'environnement shell au démarrage

· rediriger la sortie à l'aide des opérateurs de redirection >, >|, <>, >&, &> et >>

· en utilisant le exec commande intégrée pour remplacer le shell par une autre commande

· ajouter ou supprimer des commandes intégrées avec le -f ainsi que -d options à la permettre
commande intégrée

· en utilisant le permettre commande intégrée pour activer les commandes intégrées du shell désactivées

· en précisant le -p option à la commander commande intégrée

· désactiver le mode restreint avec set +r or set +o limité.

Ces restrictions sont appliquées après la lecture des fichiers de démarrage.

Lorsqu'une commande qui s'avère être un script shell est exécutée (voir COMMAND EXÉCUTION
dessus), rbash désactive toutes les restrictions dans le shell généré pour exécuter le script.

Utiliser bash-static en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    XISMUS
    XISMUS
    ATTENTION : la mise à jour cumulative 2.4.3 a
    été libéré !! La mise à jour fonctionne pour tout
    version 2.xx précédente. Si mise à niveau
    à partir de la version v1.xx, veuillez télécharger et
    i ...
    Télécharger XISMuS
  • 2
    facetracknoir
    facetracknoir
    Programme de headtracking modulaire qui
    prend en charge plusieurs suivis de visage, filtres
    et les protocoles de jeu. Parmi les traqueurs
    sont les SM FaceAPI, AIC Inertial Head
    Traqueur...
    Télécharger facetracknoir
  • 3
    Code QR PHP
    Code QR PHP
    Le code QR PHP est open source (LGPL)
    bibliothèque de génération de QR Code,
    code-barres en 2 dimensions. Basé sur
    bibliothèque libqrencode C, fournit une API pour
    création de QR Code barc...
    Télécharger le code QR PHP
  • 4
    freeciv
    freeciv
    Freeciv est un tour par tour gratuit
    jeu de stratégie multijoueur, dans lequel chacun
    joueur devient le leader d'un
    civilisation, luttant pour obtenir la
    objectif ultime : devenir...
    Télécharger Freeciv
  • 5
    Coucou Sandbox
    Coucou Sandbox
    Cuckoo Sandbox utilise des composants pour
    surveiller le comportement des logiciels malveillants dans un
    Environnement bac à sable ; isolé de la
    reste du système. Il offre automatisé
    analyse de...
    Télécharger Coucou Sandbox
  • 6
    LMS-YouTube
    LMS-YouTube
    Lire la vidéo YouTube sur LMS (portage de
    Triode's to YouTbe API v3) C'est
    une application qui peut aussi être récupérée
    de
    https://sourceforge.net/projects/lms-y...
    Télécharger LMS-YouTube
  • Plus "

Commandes Linux

Ad