Il s'agit de la commande ksh93 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
ksh, rksh, ksh93, rksh93 - KornShell, une commande et une programmation standard/restreinte
langue
SYNOPSIS
ksh [ ±abcefhikmnoprstuvxBCDP ] [ -R déposer ] [ ±o choix ] ... [ - ] [ argument ... ]
rksh [ ±abcefhikmnoprstuvxBCD ] [ -R déposer ] [ ±o choix ] ... [ - ] [ argument ... ]
DESCRIPTION
Ksh. est un langage de commande et de programmation qui exécute des commandes lues à partir d'un terminal ou d'un
fichier. Rksh est une version restreinte de l'interpréteur de commandes ksh; interpréteur de commandes
ksh; Voir Invocation ci-dessous pour la signification des arguments du shell.
Définitions
A métacaractère est l'un des caractères suivants :
; & ( ) ⎪ < > nouvelle ligne espace languette
A vide est une languette ou espace. Un identifiant est une suite de lettres, de chiffres ou
traits de soulignement commençant par une lettre ou un trait de soulignement. Les identificateurs sont utilisés comme composants de
variable noms. UNE nom_v est une séquence d'un ou plusieurs identifiants séparés par un . et
éventuellement précédé d'un .. Les Vnames sont utilisés comme noms de fonctions et de variables. UNE mot est une
séquence de caractères à partir du jeu de caractères défini par la locale actuelle, à l'exclusion
non coté métacaractères.
A commander est une séquence de caractères dans la syntaxe du langage shell. La coquille
lit chaque commande et exécute l'action souhaitée soit directement, soit en invoquant
utilitaires séparés. Une commande intégrée est une commande exécutée par le shell
lui-même sans créer un processus séparé. Certaines commandes sont intégrées uniquement pour
commodité et ne sont pas documentés ici. Intégrés qui provoquent des effets secondaires dans la coque
l'environnement et les éléments intégrés trouvés avant d'effectuer une recherche de chemin (voir Internationaux
ci-dessous) sont documentés ici. Pour des raisons historiques, certains de ces éléments intégrés se comportent
différemment des autres composants intégrés et sont appelés pour un spécial intégrés.
Commandes.
A commande-simple est une liste d'affectations de variables (voir Variable Missions ci-dessous) ou un
séquence de vide mots séparés qui peuvent être précédés d'une liste d'affectations de variables
(voir Environnement au dessous de). Le premier mot précise le nom de la commande à exécuter.
Sauf indication contraire ci-dessous, les mots restants sont passés en tant qu'arguments à l'appelé
commander. Le nom de la commande est passé en argument 0 (voir exec(2)). Les Plus-value d'un simple-
la commande est son état de sortie ; 0-255 s'il se termine normalement ; 256+signe s'il se termine
anormalement (le nom du signal correspondant à l'état de sortie peut être obtenu via
le -l choix du tuer utilitaire intégré).
A pipeline est une séquence d'un ou plusieurs commandes séparé par ⎪. La sortie standard de
chaque commande sauf la dernière est reliée par un pipe(2) à l'entrée standard du prochain
commander. Chaque commande, sauf peut-être la dernière, est exécutée en tant que processus distinct ; La coquille
attend la fin de la dernière commande. L'état de sortie d'un pipeline est l'état de sortie
de la dernière commande à moins que le panne de canalisation l'option est activée. Chaque pipeline peut être précédé
par le réservé mot ! ce qui fait que l'état de sortie du pipeline devient 0 si le
l'état de sortie de la dernière commande est différent de zéro, et 1 si l'état de sortie de la dernière commande
est 0.
A liste est une séquence d'un ou plusieurs pipelines séparés par ;, &, &, &&, ou ??et
éventuellement résilié par ;, &, ou &. De ces cinq symboles, ;, &et & avoir l'égalité
priorité, qui est inférieure à celle de && et ??. Les symboles && et ?? ont aussi l'égalité
priorité. Un point-virgule (;) provoque l'exécution séquentielle du pipeline précédent ; un
esperluette (&) provoque l'exécution asynchrone du pipeline précédent (c'est-à-dire le shell
ne pas attendre que ce pipeline se termine). Le symbole & provoque une exécution asynchrone
du pipeline précédent avec un tuyau bidirectionnel établi jusqu'à la coque mère ; les
l'entrée et la sortie standard du pipeline généré peuvent être écrites et lues par le
shell parent en appliquant les opérateurs de redirection <& et >& avec argument p aux commandes et par
grâce à -p option des commandes intégrées lire et impression décrit plus tard. Le symbole &&
(??) provoque le liste le suivant pour n'être exécuté que si le pipeline précédent renvoie un
valeur nulle (non nulle). Une ou plusieurs nouvelles lignes peuvent apparaître dans un liste au lieu d'un point-virgule,
pour délimiter une commande. La première Articles de la première pipeline d'un liste c'est un simple
commande ne commençant pas par une redirection et ne se produisant pas dans un tout en, jusqu'au, ou if
liste, peut être précédé d'un point-virgule. Ce point-virgule est ignoré sauf si le montre-moi option
est activé comme décrit avec le set intégré ci-dessous.
A commander est soit une simple commande, soit l'une des suivantes. Sauf indication contraire,
la valeur renvoyée par une commande est celle de la dernière commande simple exécutée dans le
commander.
pour nom_v [ in mot ...] ;faire liste ;terminé
Chaque fois qu'un pour la commande est exécutée, nom_v est réglé sur le suivant mot tiré du
in mot liste. Si in mot ... est omis, alors le pour la commande exécute le do
liste une fois pour chaque paramètre de position défini à partir de 1 (voir Paramètre
Expansion au dessous de). L'exécution se termine lorsqu'il n'y a plus de mots dans la liste.
pour (( [expression1] ; [expression2] ; [expression3] )) ;faire liste ;terminé
L'expression arithmétique expression1 est évalué en premier (voir Arithmétique évaluation
au dessous de). L'expression arithmétique expression2 est évalué à plusieurs reprises jusqu'à ce qu'il évalue
à zéro et lorsqu'il est différent de zéro, liste est exécuté et l'expression arithmétique expression3
évalué. Si une expression est omise, elle se comporte comme si elle était évaluée à 1.
Sélectionner nom_v [ in mot ...] ;faire liste ;terminé
A Sélectionner commande imprime sur erreur standard (descripteur de fichier 2) l'ensemble des mots,
chacun précédé d'un chiffre. Si in mot ... est omis, alors la position
paramètres à partir de 1 sont utilisés à la place (voir Paramètre Expansion au dessous de). Les
PS3 L'invite est imprimée et une ligne est lue à partir de l'entrée standard. Si cette ligne
se compose du numéro de l'un des mots, alors la valeur de la variable
nom_v est réglé sur la mot correspondant à ce numéro. Si cette ligne est vide, le
la liste de sélection est à nouveau imprimée. Sinon la valeur de la variable nom_v est réglé
à nul. Le contenu de la ligne lue depuis l'entrée standard est enregistré dans le
variable RÉPONDREL’ liste est exécuté pour chaque sélection jusqu'à ce qu'un pause or Fin de-
filet est rencontré. Si la RÉPONDRE variable est définie sur nul par l'exécution de
liste, puis la liste de sélection est imprimée avant d'afficher le PS3 invite pour le
sélection suivante.
maisons mot in [[(]modèle [ ⎪ modèle ]... ) liste ;; ]... Esac
A maisons la commande exécute le liste associé au premier modèle qui correspond à
mot. La forme des modèles est la même que celle utilisée pour la génération de noms de fichiers
(voir Fichier Nom Generation au dessous de). Les ;; l'opérateur provoque l'exécution de maisons à
mettre fin. Si ;& est utilisé à la place de ;; la prochaine liste suivante, le cas échéant, est
réalisé.
if liste ;alors liste [ ;elif liste ;alors liste ] ... [ ;autre liste ] ;Fi
Le manuel de formation liste Abonnement if est exécuté et, s'il renvoie un état de sortie nul, le liste
suivant le premier puis est exécuté. Sinon, le liste Abonnement Elif is
exécuté et, si sa valeur est zéro, le liste suivant le prochain puis est exécuté.
A défaut chaque successif Elif liste, un d'autre liste est exécuté. Si la if liste a
état de sortie différent de zéro et il n'y a pas d'autre liste, puis le if la commande renvoie un zéro
état de sortie.
tout en liste ;faire liste ;terminé
jusqu'au liste ;faire liste ;terminé
A tout en la commande exécute à plusieurs reprises le tout en liste et, si le statut de sortie du
la dernière commande de la liste est zéro, exécute le do liste; sinon la boucle
se termine. Si aucune commande dans le do liste sont exécutés, alors le tout en commander
renvoie un état de sortie zéro ; jusqu'au peut être utilisé à la place de tout en annuler la boucle
essai de terminaison.
((expression))
Le manuel de formation expression est évalué à l'aide des règles d'évaluation arithmétique décrites
au dessous de. Si la valeur de l'expression arithmétique n'est pas nulle, l'état de sortie est
0, sinon l'état de sortie est 1.
(liste)
Exécution liste dans un environnement séparé. Notez que si deux adjacents ouverts
des parenthèses sont nécessaires pour l'imbrication, un espace doit être inséré pour éviter l'évaluation car
une commande arithmétique comme décrit ci-dessus.
{ liste;}
liste est simplement exécuté. Notez que contrairement aux métacaractères ( et ), { et } sommes-nous
réservé mots et doit apparaître en début de ligne ou après un ; de nombreux clients
être reconnu.
[[ expression ]]
Évalue expression et renvoie un état de sortie nul lorsque expression est vrai. Voir
Conditionnel Expressions ci-dessous, pour une description de expression.
fonction varname { liste ;}
varname () { liste ;}
Définir une fonction qui est référencée par varname. Une fonction dont varname
contient un . s'appelle une fonction disciplinaire et la partie de la varname
précédant le dernier . doit faire référence à une variable existante. Le corps de la fonction
est le liste de commandes entre { et }. Une fonction définie avec le fonction
varname la syntaxe peut également être utilisée comme argument de la . commande intégrée spéciale
pour obtenir le comportement équivalent comme si le varname() syntaxe ont été utilisées pour le définir.
(Voir Les fonctions au dessous de.)
namespace identifiant { liste ;}
Définit ou utilise l'espace de nom identifiant et exécute les commandes dans liste dans ce
espace de nom. (Voir Nom Les espaces au dessous de.)
& [ prénom [ arg ... ] ]
Causes ultérieures liste commandes terminées par & être placé dans le travail d'arrière-plan
pool prénom. Si prénom est omis, un pool sans nom par défaut est utilisé. Commandes dans un nom
le pool d'arrière-plan peut être exécuté à distance.
Paisible [ pipeline ]
If pipeline est omis l'heure de l'utilisateur et du système pour le shell actuel et terminé
les processus enfants sont imprimés sur l'erreur standard. Autrement, pipeline est exécuté et
le temps écoulé ainsi que l'heure utilisateur et système sont imprimés sur l'erreur standard.
Le manuel de formation 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 coquille Variables ci-dessous pour une description de
le FORMAT DE L'HEURE variable.
Les mots réservés suivants ne sont reconnus comme réservés que lorsqu'ils sont le premier mot
d'une commande et ne sont pas entre guillemets :
if puis d'autre Elif fi maisons Esac pour tout en jusqu'au do fait { } fonction Sélectionner Paisible [[ ]] !
Variable Affectations
Une ou plusieurs affectations de variables peuvent démarrer une simple commande ou peuvent être des arguments pour le
composer, enum, Exporter, ou lecture seulement commandes intégrées spéciales ainsi qu'à d'autres
commandes de déclaration créées en tant que types. La syntaxe d'un affectation est de la forme:
varname=mot
varname[mot]=mot
Aucun espace n'est autorisé entre varname et la = ou entre = et mot.
varname=(assign_list)
Aucun espace n'est autorisé entre varname et la =. La variable varname n'est pas réglé
avant l'affectation. Un assign_list peut être l'un des suivants :
mot ...
Affectation de tableau indexé.
[mot]=mot ...
Affectation de tableau associatif. Si précédé de composer -a cette volonté
créer un tableau indexé à la place.
affectation ...
Affectation des variables composées. Cela crée une variable composée
varname avec des sous-variables de la forme varname.prénom, Où prénom is
la partie nom de affectation. La valeur de varname contiendra
tous les éléments d'affectation. Des affectations supplémentaires faites à des sous-
variables de varname sera également affiché dans le cadre de la valeur de
varname. Sinon affectations sont spécifiés, varname sera un
variable composée permettant de définir les éléments enfants de la sous-séquence.
composer [Options] affectation ...
Affectation de variables imbriquées. Plusieurs affectations peuvent être spécifiées
en séparant chacun d'eux par un ;. La valeur précédente n'est pas définie
avant l'affectation. D'autres commandes de déclaration telles que lecture seulement,
enum, et d'autres commandes de déclaration peuvent être utilisées à la place de
composer.
. nom de fichier
Inclure les commandes d'affectation contenues dans nom de fichier.
En outre, une += peut être utilisé à la place du = pour signifier l'ajout ou l'ajout à la
valeur précédente. Lorsque += est appliqué à un type arithmétique, mot est évalué comme un
expression arithmétique et ajoutée à la valeur actuelle. Lorsqu'il est appliqué à une variable de chaîne,
la valeur définie par mot est ajouté à la valeur. Pour les affectations composées, le
la valeur précédente n'est pas supprimée et les nouvelles valeurs sont ajoutées aux valeurs actuelles fournies
que les types sont compatibles.
Le côté droit d'une affectation de variable subit toutes les expansions énumérées ci-dessous
à l'exception du fractionnement de mots, de l'extension des accolades et de la génération de noms de fichiers. Quand le côté gauche
est une affectation est une variable composée et la main droite est le nom d'un composé
variable, la variable composée sur la droite sera copiée ou ajoutée au composé
variable à gauche.
Commentaires.
Un mot commençant par # provoque ce mot et tous les caractères suivants jusqu'à une nouvelle ligne
à ignorer.
Crénelage.
Le premier mot de chaque commande est remplacé par le texte d'un alias si un alias pour ça
mot a été défini. Un alias le nom se compose d'un nombre quelconque de caractères à l'exclusion
métacaractères, guillemets, caractères d'extension de fichier, extension de paramètre et
caractères de substitution de commande, les caractères / et =. La chaîne de remplacement peut
contenir tout script shell valide, y compris les métacaractères répertoriés ci-dessus. Le premier mot
de chaque commande dans le texte remplacé, à l'exception de celles qui sont en train d'être
remplacé, sera testé pour les alias. Si le dernier caractère de la valeur d'alias est un vide
alors le mot suivant l'alias sera également vérifié pour la substitution d'alias. Alias
peut être utilisé pour redéfinir les commandes intégrées mais ne peut pas être utilisé pour redéfinir les commandes réservées
mots énumérés ci-dessus. Des alias peuvent être créés et répertoriés avec le alias commande et peut être
enlevé avec le Unalias commander.
Aliasing est exécuté lors de la lecture des scripts, et non lors de leur exécution. Par conséquent, pour
un alias pour prendre effet, le alias La commande de définition doit être exécutée avant la
commande qui fait référence à l'alias est lu.
Les alias suivants sont compilés dans le shell mais peuvent être supprimés ou redéfinis :
autoload=′composer -fu'
commande=′commande »
composé=′composé -C′
fc = hist
float=′composé -lE'
fonctions=′composé -F'
hachage=′alias -t --'
histoire=′hist -l'
entier=′composé -li'
nameref=′composé -n′
nohup=′nohup »
r=′histe -s′
redirect=′commande exe′
source=′commande .'
stop=′tuer -s ARRÊTER'
suspendre=′tuer -s STOP $$′
fois=′{ { temps;} 2>&1;}′
type=′d'où -v′
Tilde Substitution.
Une fois la substitution d'alias effectuée, chaque mot est vérifié pour voir s'il commence par un
non cité ~. Pour la substitution de tilde, mot fait également référence à la mot partie de paramètre
extension (voir Paramètre Expansion au dessous de). Si c'est le cas, alors le mot jusqu'à un / est vérifié
pour voir s'il correspond à un nom d'utilisateur dans la base de données des mots de passe (voir obtenir le nom du mot de passe(3).) Si une correspondance
est trouvé, le ~ et le nom de connexion correspondant sont remplacés par le répertoire de connexion du
utilisateur correspondant. Si aucune correspondance n'est trouvée, le texte d'origine reste inchangé. UNE ~ par lui-même,
ou devant un /, est remplacé par $ ACCUEIL. A ~ suivie d'une + or - est remplacé par le
valeur de $PWD et $OLDPWD respectivement.
De plus, lors de l'extension d'un variable affectation, tilde la substitution est tentée lorsque
la valeur de la mission commence par un ~, et quand un ~ apparaît après un :L’ : aussi
met fin à un ~ identifiant.
Command Substitution.
La sortie standard d'une liste de commandes entre parenthèses précédée d'un signe dollar
( $(liste) ), ou dans un groupe d'accolades précédé du signe dollar ( ${ liste;} ), ou dans une paire de
accents graves (``) peut être utilisé en partie ou en totalité dans un mot ; Les nouvelles lignes de fin sont supprimées.
Dans le second cas, le { et } sont traités comme des mots réservés afin que { doit être suivi
par une vide et } doit apparaître en début de ligne ou suivre un ;. Dans le troisième
forme (obsolète), la chaîne entre les guillemets est traitée pour les guillemets spéciaux
avant l'exécution de la commande (voir Citant au dessous de). La substitution de commande $(chat fichier)
peut être remplacé par l'équivalent mais plus rapide $(. La substitution de commande $(n<#)
s'étendra à l'offset d'octet actuel pour le descripteur de fichier n. À l'exception de la deuxième forme,
la liste de commandes est exécutée dans un sous-shell afin qu'aucun effet secondaire ne soit possible. Pour le
deuxième forme, la finale } sera reconnu comme un mot réservé après tout jeton.
Arithmétique Substitution.
Une expression arithmétique entourée de doubles parenthèses précédée d'un signe dollar ( $(())
) est remplacé par la valeur de l'expression arithmétique entre les doubles parenthèses.
Processus Substitution.
Chaque argument de commande de la forme <(liste) or >(liste) exécutera le processus liste de manière asynchrone
connecté à un fichier dans /dev/fd si ce répertoire existe, ou bien un fifo un temporaire
annuaire. Le nom de ce fichier deviendra l'argument de la commande. Si la forme
avec > est sélectionné, puis écrire sur ce fichier fournira une entrée pour liste. Si < est utilisé,
alors le fichier passé en argument contiendra la sortie du liste traiter. Pour
Par exemple,
paste <(couper -f1 file1) <(couper -f3 file2) | tee >(processus1) >(processus2)
coupes champs 1 et 3 des fichiers file1 et file2 respectivement, pâtes Les resultats
ensemble et l'envoie aux processus processus1 et processus2, ainsi que de le mettre sur
la sortie standard. Notez que le fichier, qui est passé en argument à la commande,
est un UNIX pipe(2) de sorte que les programmes qui s'attendent à je cherche(2) sur le fichier ne fonctionnera pas.
Processus de substitution de la forme <(liste) peut également être utilisé avec le < opérateur de redirection
qui provoque la sortie de liste être l'entrée standard ou l'entrée pour n'importe quel fichier
le descripteur est spécifié.
Paramètre Expansion.
A paramètre est une variable, un ou plusieurs chiffres ou l'un des caractères *, @, #, ?, -, $,
et !. A variable est désigné par un nom_v. Pour créer une variable dont nom_v contient un .,
une variable dont nom_v se compose de tout avant le dernier . doit déjà exister. UNE
variable possède de Plus-value et zéro ou plus attributs. Variables peut être attribué valeurs et
attributs En utilisant le composer commande intégrée spéciale. Les attributs supportés par le
shell sont décrits plus loin avec le composer commande intégrée spéciale. Variables exportées
transmettre des valeurs et des attributs à l'environnement.
Le shell prend en charge les tableaux indexés et associatifs. Un élément d'une variable de tableau
est référencé par un indice. A indice pour un tableau indexé est noté par un
des fonctions arithmétiques de bases expression (voir Arithmétique évaluation ci-dessous) entre un [ et ]. Assigner
valeurs dans un tableau indexé, utilisez nom_v=(Plus-value ...) or set -A nom_v Plus-value ... . La valeur
de tous les indices non négatifs doivent être compris entre 0 et 4,194,303 XNUMX XNUMX. Un négatif
l'indice est traité comme un décalage par rapport à l'indice actuel maximum +1 de sorte que -1 fait référence à
le dernier élément. Les tableaux indexés peuvent être déclarés avec le -a Option de composer. Indexé
les tableaux n'ont pas besoin d'être déclarés. Toute référence à une variable avec un indice valide est légale
et un tableau sera créé si nécessaire.
Un tableau associatif est créé avec le -A Option de composer. A indice pour un
tableau associatif est indiqué par une chaîne comprise entre [ et ].
Référencer n'importe quel tableau sans indice équivaut à référencer le tableau avec
indice 0.
Le manuel de formation Plus-value d'un variable peut être attribué par écrit :
nom_v=Plus-value [ nom_v=Plus-value ]...
or
nom_v[indice]=Plus-value [ nom_v[indice]=Plus-value ]...
Notez qu'aucun espace n'est autorisé avant ou après le =.
Attributs attribués par le composer commande intégrée spéciale s'appliquent à tous les éléments du
déployer. Un élément de tableau peut être une variable simple, une variable composée ou un tableau
variable. Un élément d'un tableau indexé peut être soit un tableau indexé, soit un tableau associatif
déployer. Un élément d'un tableau associatif peut également être l'un ou l'autre. Pour faire référence à un tableau
élément faisant partie d'un élément de tableau, concaténez l'indice entre parenthèses. Pour
exemple, pour se référer au Foobar élément d'un tableau associatif défini comme le
troisième élément du tableau indexé, utilisez ${nom_v[3][Foobar]}
A nomref est une variable qui est une référence à une autre variable. Une référence de nom est créée
grâce à la fonction -n attribut de composer. La valeur de la variable au moment de la composer
commande devient la variable qui sera référencée chaque fois que la variable nameref est
utilisé. Le nom d'un nameref ne peut pas contenir un .. Lorsqu'un nom de variable ou de fonction
contient un ., et la partie du nom jusqu'au premier . correspond au nom d'un nameref,
la variable à laquelle il est fait référence est obtenue en remplaçant la partie nameref par le nom du
variable référencée par le nameref. Si un nameref est utilisé comme index d'un pour boucle, un
une référence de nom est établie pour chaque élément de la liste. Un nameref fournit un
manière de faire référence à la variable à l'intérieur d'une fonction dont le nom est passé en argument à un
fonction. Par exemple, si le nom d'une variable est passé comme premier argument à un
fonction, la commande
composer -n var=$1
à l'intérieur de la fonction provoque des références et des affectations à var être des références et
affectations à la variable dont le nom a été passé à la fonction.
Si l'un des attributs à virgule flottante, -E, -F, ou -X, ou l'attribut entier, -i, est
fixé pour nom_v, puis le Plus-value fait l'objet d'une évaluation arithmétique telle que décrite ci-dessous.
Les paramètres de position, les paramètres désignés par un nombre, peuvent se voir attribuer des valeurs avec le set
commande intégrée spéciale. Paramètre $0 est défini à partir de l'argument zéro lorsque le shell est
invoqué.
Le personnage $ est utilisé pour introduire des substituables paramètres.
${paramètre}
Le shell lit tous les caractères de ${ à la correspondance } dans le cadre du même
mot même s'il contient des accolades ou des métacaractères. La valeur, le cas échéant, de la
paramètre est substitué. Les accolades sont nécessaires lorsque paramètre est suivi d'un
lettre, chiffre ou trait de soulignement qui ne doit pas être interprété comme faisant partie de son nom,
lorsque le nom de la variable contient un .. Les accolades sont également nécessaires lorsqu'une variable
est indicé à moins qu'il ne fasse partie d'une expression arithmétique ou d'un conditionnel
Expression. Si paramètre est un ou plusieurs chiffres, alors c'est un paramètre de position.
Un paramètre de position de plus d'un chiffre doit être placé entre accolades. Si
paramètre is * or @, puis tous les paramètres de position, en commençant par $1, Sont
substitué (séparé par un caractère séparateur de champ). Si un tableau nom_v avec
dernier indice * @, ou pour les tableaux d'index de la forme sub1 .. sub2. est utilisé, alors
la valeur de chacun des éléments entre sub1 et sub2 inclus (ou tous les éléments
pour * et @) est substitué, séparé par le premier caractère de la valeur de IFS.
${#paramètre}
If paramètre is * or @, le nombre de paramètres positionnels est substitué.
Sinon, la longueur de la valeur du paramètre est remplacé.
${#nom_v[*]}
${#nom_v[@]}
Le nombre d'éléments dans le tableau nom_v est remplacé.
${@nom_v}
Se développe jusqu'au nom du type (voir Type Variables ci-dessous) ou les attributs de la variable
visée par nom_v.
${ !nom_v}
Se développe jusqu'au nom de la variable référencée par nom_v. Ce sera nom_v
sauf quand nom_v est une référence de nom.
${ !nom_v[indice]}
Se développe jusqu'au nom de l'indice à moins que indice is *, @. ou de la forme sub1 ..
sub2. Quand indice is *, la liste des indices de tableau pour nom_v est généré.
Pour une variable qui n'est pas un tableau, la valeur est 0 si la variable est définie.
Sinon c'est nul. Lorsque indice is @, comme ci-dessus, sauf que lorsqu'il est utilisé dans
guillemets doubles, chaque indice de tableau donne un argument séparé. Lorsque indice is
de la forme sub1 .. sub2 il s'étend à la liste des indices entre sub1 et
sub2 inclus en utilisant les mêmes règles de cotation que @.
${ !préfixe*}
S'étend aux noms des variables dont les noms commencent par préfixe.
${paramètre:-mot}
If paramètre est défini et n'est pas nul, puis remplacez sa valeur ; sinon remplacer
mot.
${paramètre:=mot}
If paramètre n'est pas défini ou est nul, puis définissez-le sur mot; La valeur du paramètre
est alors substitué. Les paramètres de position ne peuvent pas être affectés de cette manière.
${paramètre:?mot}
If paramètre est défini et n'est pas nul, puis remplacez sa valeur ; sinon, imprimez
mot et quittez le shell (s'il n'est pas interactif). Si mot est omis alors un
le message standard est imprimé.
${paramètre:+mot}
If paramètre est défini et n'est pas nul, puis remplacez mot; sinon remplacer
rien.
Au dessus, mot n'est pas évalué à moins qu'il ne soit utilisé comme chaîne de substitution, donc
que, dans l'exemple suivant, pwd n'est exécuté que si d n'est pas défini ou est nul :
imprimer ${d:-$(pwd)}
Si le côlon ( : ) est omis des expressions ci-dessus, alors le shell vérifie uniquement
que paramètre est défini ou non.
${paramètre:compenser:longueur}
${paramètre:compenser}
S'étend à la partie de la valeur de paramètre en commençant par le personnage
(à partir de 0) déterminé en développant compenser comme expression arithmétique et
constitué du nombre de caractères déterminé par l'expression arithmétique
Défini par longueur. Dans la seconde forme, le reste de la valeur est utilisé. Si un
négatif compenser compte à rebours à partir de la fin de paramètre. Notez qu'un ou plusieurs
vides est requis devant un signe moins pour empêcher le shell d'interpréter
l'opérateur en tant que :-. Si paramètre is * or @, ou est un nom de tableau indexé par * or @,
puis compenser et longueur se référer à l'index du tableau et au nombre d'éléments
respectivement. Un négatif compenser est pris par rapport à un plus grand que le plus élevé
indice pour les tableaux indexés. L'ordre des tableaux associés n'est pas spécifié.
${paramètre#modèle}
${paramètre##modèle}
Si la coquille modèle correspond au début de la valeur de paramètre, puis le
la valeur de cette expansion est la valeur du paramètre avec la portion correspondante
supprimé ; sinon la valeur de ce paramètre est substitué. Dans la première forme
le plus petit motif correspondant est supprimé et dans la seconde forme le plus grand
le motif correspondant est supprimé. Lorsque paramètre is @, *, ou une variable de tableau avec
indice @ or *, l'opération de sous-chaîne est appliquée à chaque élément à tour de rôle.
${paramètre%modèle}
${paramètre%%modèle}
Si la coquille modèle correspond à la fin de la valeur de paramètre, alors la valeur de
cette expansion est la valeur de la paramètre avec la partie appariée supprimée ;
sinon remplacer la valeur de paramètre. Dans la première forme la plus petite
le motif correspondant est supprimé et dans la seconde forme, le plus grand motif correspondant est
supprimé. Lorsque paramètre is @, *, ou une variable de tableau avec un indice @ or *, un
l'opération de sous-chaîne est appliquée à chaque élément à son tour.
${paramètre/modèle/un magnifique}
${paramètre//modèle/un magnifique}
${paramètre/#modèle/un magnifique}
${paramètre/%modèle/un magnifique}
Développe paramètre et remplace la plus longue correspondance de modèle avec le donné chaîne.
Chaque occurrence de \n in un magnifique est remplacé par la partie de paramètre qui
correspond à la n-ème sous-modèle. Dans la première forme, seule la première occurrence de
modèle est remplacé. Dans la deuxième forme, chaque match pour modèle est remplacé par le
donné chaîne. La troisième forme restreint la correspondance de motif au début de la
chaîne tandis que la quatrième forme restreint la correspondance de motif à la fin de la chaîne.
Quand un magnifique est nul, le modèle sera supprimé et le / en face de un magnifique 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 omis. Lorsque paramètre is @, *, ou une variable de tableau avec un indice @ or *,
l'opération de substitution est appliquée à chaque élément à tour de rôle. Dans ce cas, le
un magnifique portion de mot sera réévalué pour chaque élément.
Les paramètres suivants sont automatiquement définis par le shell :
# Le nombre de paramètres de position en décimal.
- Options fournies au shell à l'invocation ou par le set commander.
? La valeur décimale renvoyée par la dernière commande exécutée.
$ Le numéro de processus de ce shell.
_ Initialement, la valeur de _ est un chemin d'accès absolu du shell ou du script
en cours d'exécution tel qu'il a été adopté dans le convivial. Par la suite, il est attribué
le dernier argument de la commande précédente. Ce paramètre n'est pas défini pour
commandes asynchrones. Ce paramètre est également utilisé pour maintenir le
nom de la correspondance MAIL fichier lors de la vérification du courrier. En définissant un
variable composée ou un type, _ est initialisé comme une référence au composé
variable ou type. Lorsqu'une fonction de discipline est invoquée, _ est initialisé
comme référence à la variable associée à l'appel de cette fonction.
Enfin quand _ est utilisé comme nom de la première variable d'un type
définition, le nouveau type est dérivé du type de la première variable (Voir
Type Variables au dessous de.).
! L'identifiant du processus ou le nom du pool et le numéro de travail du dernier arrière-plan
commande invoquée ou le travail le plus récent mis en arrière-plan avec le bg
commande intégrée. Les travaux en arrière-plan démarrés dans un pool nommé seront dans le
un formulaire de candidature dûment rempli pool.nombre où pool est le nom de la piscine et nombre est le numéro de travail
au sein de cette piscine.
.sh.commande
Lors du traitement d'un DEBUG trap, cette variable contient la commande courante
ligne qui est sur le point de fonctionner.
.sh.edchar
Cette variable contient la valeur du caractère du clavier (ou séquence de
caractères si le premier caractère est un ESC, ascii 033) ça a été
saisie lors du traitement d'un CLAVIER piège (voir ACTIVITES fixations au dessous de). Si la valeur
est modifié dans le cadre de l'action d'interruption, la nouvelle valeur remplace la clé
(ou séquence de touches) qui a causé le piège.
.sh.edcol
La position du caractère du curseur au moment de la plus récente CLAVIER
piège.
.sh.edmode
La valeur est définie sur ESC lors du traitement d'un CLAVIER piège tandis que dans vi insérer
mode. (Voir Vi Le Montage Mode ci-dessous.) Sinon, .sh.edmode est nul quand
le traitement d'un CLAVIER piège.
.sh.edtext
Les caractères dans le tampon d'entrée au moment de la plus récente CLAVIER
piéger. La valeur est nulle lorsqu'on ne traite pas un CLAVIER piège.
.sh.fichier
Le chemin d'accès du fichier qui contient la commande actuelle.
.sh.fun
Le nom de la fonction actuelle en cours d'exécution.
.sh.niveau
Réglez sur la profondeur de fonction actuelle. Cela peut être modifié à l'intérieur d'un piège DEBUG
et définira le contexte au niveau spécifié.
.sh.lineno
Défini lors d'une interruption DEBUG sur le numéro de ligne de l'appelant de chaque fonction.
.sh.match
Un tableau indexé qui stocke la correspondance la plus récente et les correspondances de sous-modèle
après les correspondances de modèle conditionnel qui correspondent et après les expansions de variables
en utilisant les opérateurs #, %, ou /L’ 0-ème élément stocke la correspondance complète
et la i-e. élément stocke le i-ème sous-correspondance. Les .sh.match variable
devient non défini lorsque la variable qui s'est développée reçoit une nouvelle valeur.
.sh.math
Utilisé pour définir des fonctions arithmétiques (voir Arithmétique évaluation ci-dessous).
et stocke la liste des fonctions arithmétiques définies par l'utilisateur.
.sh.nom
Défini sur le nom de la variable au moment où une fonction de discipline est
invoqué.
.sh.indice
Fixé à l'indice du nom de la variable au moment où une discipline
la fonction est invoquée.
.sh.subshell
La profondeur actuelle pour les sous-shells et la substitution de commandes.
.sh.valeur
Fixé à la valeur de la variable au moment où le set or ajouter
la fonction de discipline est invoquée. Lorsqu'une fonction arithmétique définie par l'utilisateur est
invoqué, la valeur de .sh.valeur est enregistré et .sh.valeur est réglé sur long double
virgule flottante de précision. .sh.valeur est restauré lorsque la fonction revient.
.sh.version
Défini sur une valeur qui identifie la version de ce shell.
KSH_VERSION
Une référence de nom à .sh.version.
LINNO Le numéro de ligne actuel dans le script ou la fonction en cours d'exécution.
ANCIENWD Le répertoire de travail précédent défini par le cd commander.
OPTARG La valeur du dernier argument d'option traité par le getops intégré
commander.
OPTINDRE L'index du dernier argument d'option traité par le getops intégré
commander.
PPID Le numéro de processus du parent du shell.
PWD Le répertoire de travail actuel défini par le cd commander.
RANDOM Chaque fois que cette variable est référencée, un entier aléatoire, uniformément
réparti entre 0 et 32767, est généré. La séquence aléatoire
les nombres peuvent être initialisés en attribuant une valeur numérique à RANDOM.
RÉPONDRE Cette variable est définie par le Sélectionner déclaration et par le lire intégré
commande lorsqu'aucun argument n'est fourni.
SECONDS
Chaque fois que cette variable est référencée, le nombre de secondes depuis le shell
l'appel est renvoyé. Si cette variable est affectée d'une valeur, alors le
la valeur renvoyée lors de la référence sera la valeur qui a été attribuée plus le
nombre de secondes depuis l'affectation.
SHLVL Une variable entière est incrémentée à chaque fois que le shell est invoqué et est
exporté. Si SHLVL n'est pas dans l'environnement lorsque le shell est invoqué, il
est défini sur 1.
Les variables suivantes sont utilisées par le shell :
CDPATH Le chemin de recherche du cd commander.
COLONNES
Si cette variable est définie, la valeur est utilisée pour définir la largeur de l'édition
fenêtre pour les modes d'édition du shell et pour l'impression Sélectionner listes.
EDITEUR Si la VISUEL variable n'est pas définie, la valeur de cette variable sera
vérifié pour les modèles comme décrit avec VISUEL ci-dessous et le
option d'édition correspondante (voir Commande spéciale set ci-dessous) sera tourné
sur.
ENV Si cette variable est définie, l'expansion des paramètres, la substitution de commandes et
des substitutions arithmétiques sont effectuées sur la valeur pour générer le chemin d'accès
du script qui sera exécuté lors de l'appel interactif du shell
(voir Invocation au dessous de). Ce fichier est généralement utilisé pour alias et fonction
définitions. La valeur par défaut est $HOME/.kshrc. Sur les systèmes prenant en charge un
à l'échelle du système /etc/ksh.kshrc fichier d'initialisation, si le nom de fichier généré
par l'expansion de ENV commence par /./ or ././ l'ensemble du système
le fichier d'initialisation ne sera pas exécuté.
FCEDIT Nom obsolète pour le nom d'éditeur par défaut pour le hist commander. FCEDIT is
pas utilisé quand HISTEDIT est réglé.
FIGURER
Un modèle qui définit l'ensemble des noms de fichiers qui seront ignorés lors de
effectuer une correspondance de nom de fichier.
FPATH Le chemin de recherche des définitions de fonction. Les répertoires de ce chemin sont
recherché un fichier portant le même nom que la fonction ou la commande lorsqu'un
fonction avec le -u l'attribut est référencé et lorsqu'une commande n'est pas
trouvé. Si un fichier exécutable portant le nom de cette commande est trouvé, alors
il est lu et exécuté dans l'environnement courant. contrairement à PATH, un
le répertoire courant doit être représenté explicitement par . plutôt que par
adjacent : caractères ou un début ou une fin :.
HISTMCMD
Numéro de la commande en cours dans le fichier historique.
HISTEDIT
Nom pour le nom d'éditeur par défaut pour le hist commander.
FICHIER HIST
Si cette variable est définie lorsque le shell est invoqué, alors la valeur est la
chemin du fichier qui sera utilisé pour stocker l'historique des commandes (voir
Command Rentrée ci-dessous).
TAILLE HIST
Si cette variable est définie lorsque le shell est invoqué, le nombre de
les commandes saisies précédemment et accessibles par ce shell seront
supérieur ou égal à ce nombre. La valeur par défaut est 512.
ACCUEIL L'argument par défaut (répertoire personnel) pour le cd commander.
IFS Séparateurs de champs internes, normalement espace, languetteet nouvelle ligne qui sont utilisés
séparer les résultats de la substitution de commandes ou de l'expansion des paramètres et
séparer les champs avec la commande intégrée lire. Le premier personnage de
le IFS La variable est utilisée pour séparer les arguments de la "$∗" substitution
(voir Citant au dessous de). Chaque occurrence unique d'un IFS caractère dans la
chaîne à diviser, qui n'est pas dans le espace classe de caractères, et tout
caractères adjacents dans IFS qui sont dans le espace classe de caractères, délimiter
un champ. Un ou plusieurs caractères dans IFS qui appartiennent à la espace caractère
classe, délimiter un champ. De plus, si le même espace le personnage apparaît
consécutivement à l'intérieur IFS, ce caractère est traité comme s'il n'était pas dans le
espace classe, de sorte que si IFS se compose de deux languette personnages, puis deux
adjacent languette caractères délimitent un champ nul.
EMPLOI MAX Cette variable définit le nombre maximum de jobs d'arrière-plan en cours d'exécution qui peuvent
courir à la fois. Lorsque cette limite est atteinte, le shell attend qu'un travail
terminer avant de commencer un nouveau travail.
LANGUE Cette variable détermine la catégorie locale pour toute catégorie non
spécifiquement sélectionné avec une variable commençant par CL_ or LANGUE.
LC_TOUS Cette variable remplace la valeur de LANGUE variable et tout autre CL_
variable.
LC_COLLER
Cette variable détermine la catégorie de paramètres régionaux pour le classement des caractères
</br>L’Information.
LC_CTYPE
Cette variable détermine la catégorie de paramètres régionaux pour la gestion des caractères
les fonctions. Il détermine les classes de caractères pour la correspondance de modèle (voir
Fichier Nom Generation ci-dessous).
LC_NUMERIC
Cette variable détermine la catégorie de paramètres régionaux pour la virgule décimale
caractère.
LIGNES Si cette variable est définie, la valeur est utilisée pour déterminer la longueur de la colonne
pour l'impression Sélectionner listes. Les listes sélectionnées s'imprimeront verticalement jusqu'à environ
les deux tiers de LIGNES les lignes sont remplies.
MAIL Si cette variable est définie sur le nom d'un fichier courrier et le CHEMIN DE COURRIER variable
n'est pas défini, alors le shell informe l'utilisateur de l'arrivée de courrier dans le
fichier spécifié.
VÉRIFICATION DU COURRIER
Cette variable spécifie à quelle fréquence (en secondes) le shell vérifiera
changements dans l'heure de modification de l'un des fichiers spécifiés par le
CHEMIN DE COURRIER or MAIL variables. La valeur par défaut est de 600 secondes. Quand le
le temps s'est écoulé, le shell vérifiera avant d'émettre l'invite suivante.
CHEMIN DE COURRIER
Un côlon ( : ) liste séparée des noms de fichiers. Si cette variable est définie, alors
le shell informe l'utilisateur de toute modification des fichiers spécifiés qui
se sont produits au cours de la dernière VÉRIFICATION DU COURRIER secondes. Chaque nom de fichier peut être
suivie d'une ? et un message qui sera imprimé. Le message sera
subir l'expansion des paramètres, la substitution de commandes et l'arithmétique
substitution avec la variable $_ défini comme le nom du fichier qui a
modifié. Le message par défaut est vous avons E-mail in $_.
PATH Le chemin de recherche des commandes (voir Internationaux au dessous de). L'utilisateur ne peut pas changer
PATH en cas d'exécution sous rksh (sauf dans .profil).
PS1 La valeur de cette variable est étendue pour l'expansion des paramètres, la commande
substitution et substitution arithmétique pour définir l'invite principale
chaîne qui par défaut est ``$''. Le personnage ! dans l'invite principale
la chaîne est remplacée par le commander numéro (voir Command Rentrée au dessous de). Deux
occurrences successives de ! produira un seul ! lorsque la chaîne d'invite
est imprimé.
PS2 Chaîne d'invite secondaire, par défaut ``> ''.
PS3 Chaîne d'invite de sélection utilisée dans un Sélectionner boucle, par défaut ``#? ''.
PS4 La valeur de cette variable est étendue pour l'évaluation des paramètres, la commande
substitution, et la substitution arithmétique et précède chaque ligne d'un
trace d'exécution. Par défaut, PS4 est ``+ ''. De plus quand PS4 n'est pas réglé,
l'invite de trace d'exécution est également ``+ ''.
SHELL Le chemin d'accès du coquille est conservé dans l'environnement. A l'invocation, si le
le nom de base de cette variable est rsh, rksh, ou krsh, alors la coquille devient
limité.
FORMAT DE L'HEURE
La valeur de ce paramètre est utilisée comme chaîne de format spécifiant comment le
informations de synchronisation pour les pipelines préfixés par le Paisible mot réservé devrait
être affichées. Les % caractère introduit une séquence de format qui est développée
à une valeur temporelle ou à d'autres informations. Les séquences de format et leurs
les significations sont les suivantes.
%% 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.
Les parenthèses indiquent des portions facultatives. L'optionnel p est un chiffre spécifiant
le précision, le nombre de chiffres après la virgule. UNE
la valeur 0 n'entraîne pas la sortie d'un point décimal ou d'une fraction. Au plus trois
les emplacements après la virgule peuvent être affichés ; valeurs de p plus de 3
sont traités comme 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 heures si supérieures à
zéro, minutes et secondes de la forme HHhMMmSS.FFs. La valeur de p
détermine si la fraction est incluse ou non.
Tous les autres caractères sont affichés sans changement et une nouvelle ligne de fin est
ajoutée. Si non défini, la valeur par défaut, $'\nréel\t%2lR\nuser\t%2lU\nsys%2lS',
est utilisé. Si la valeur est nulle, aucune information de synchronisation n'est affichée.
TMOUT S'il est défini sur une valeur supérieure à zéro, TMOUT sera la valeur de délai d'attente par défaut
pour lire commande intégrée. Les Sélectionner la commande composée se termine après
TMOUT secondes lorsque l'entrée provient d'un terminal. Sinon, la coquille
terminer si une ligne n'est pas saisie dans le nombre de secondes prescrit
lors de la lecture à partir d'un terminal. (Notez que le shell peut être compilé avec un
limite maximale de cette valeur qui ne peut être dépassée.)
VISUEL Si la valeur de cette variable correspond au modèle *[Vv][Ii]*, puis le vi
option (voir Commande spéciale set ci-dessous) est activé. Si la valeur correspond
le motif *gmacs* , le gmacs l'option est activée. Si la valeur correspond
le motif *macs*, puis le emacs l'option sera activée. La valeur de
VISUEL remplace la valeur de ÉDITEUR.
Le shell donne des valeurs par défaut à PATH, PS1, PS2, PS3, PS4, VÉRIFICATION DU COURRIER, FCEDIT, TMOUT et
IFS, tandis que ACCUEIL, SHELL, ENVet MAIL ne sont pas du tout définis par le shell (bien que ACCUEIL is
fixé par vous connecter(1)). Sur certains systèmes MAIL et SHELL sont également fixés par vous connecter (1).
Champ Scission.
Après l'expansion des paramètres et la substitution de commandes, les résultats des substitutions sont
scanné pour les caractères de séparation de champ (ceux trouvés dans IFS) et divisé en distincts
champs où de tels caractères sont trouvés. Champs nuls explicites ("" or ′ ′) sont conservés.
Les champs nuls implicites (ceux résultant de paramètres qui n'ont pas de valeurs ou de commande
substitutions sans sortie) sont supprimées.
Si la accolade développer (-B) est définie puis chacun des champs résultant de IFS sommes-nous
vérifié pour voir s'ils contiennent un ou plusieurs des motifs d'accolade {*,*}, {l1..l2} ,
{n1..n2} , {n1..n2% fmt} , {n1..n2 ..n3} , ou {n1..n2 ..n3%fmt} , Où * représente tout
personnage, l1,l2 sont des lettres et n1,n2,n3 sont des nombres signés et fmt est un format spécifié
tel qu'utilisé par printf. Dans chaque cas, les champs sont créés en ajoutant les caractères avant
le { et en ajoutant les caractères après le } à chacune des chaînes générées par le
caractères entre le { et }. Les champs résultants sont vérifiés pour voir s'ils ont des
modèles d'accolades.
Dans la première forme, un champ est créé pour chaque chaîne entre { et ,, entre , et ,,
et entre , et }. La chaîne représentée par * peut contenir une correspondance intégrée { et }
sans citer. Sinon, chaque { et } avec * doit être cité.
Sous la forme des secondes, l1 et l2 doivent être tous les deux en majuscules ou en minuscules
caractères dans les paramètres régionaux C. Dans ce cas, un champ est créé pour chaque caractère de l1
thru l2.
Dans les autres formulaires, un champ est créé pour chaque numéro à partir de n1 et continue
jusqu'à ce qu'il atteigne n2 incrémenter n1 by n3. Les cas où n3 n'est pas spécifié se comporter comme
if n3 où 1 if n1<=n2 et -1 autrement. Si les formulaires qui précisent %fmt tous les drapeaux de format,
les largeurs et les précisions peuvent être spécifiées et fmt peut se terminer par l'un des spécificateurs cdiouxX.
Par exemple, {a,z}{1..5..3%02d}{b..c}x s'étend aux 8 champs, a01bx, a01cx, a04bx,
a04cx, z01bx, z01cx, z04bx et z4cx.
Fichier Nom Génération.
Après le fractionnement, chaque champ est scanné pour les caractères *, ?, (et [ à moins que le -f
l'option a été définie. Si l'un de ces caractères apparaît, alors le mot est considéré comme un
modèle. Chaque composant de nom de fichier qui contient un caractère de modèle est remplacé par un
ensemble de noms triés lexicographiquement qui correspondent au modèle de ce répertoire. Sinon
le nom de fichier est trouvé qui correspond au modèle, alors ce composant du nom de fichier est laissé
inchangé à moins que le motif ne soit préfixé par (N) auquel cas il est supprimé comme
décrit ci-dessous. Si FIGURER est défini, alors chaque composant de nom de fichier qui correspond au
modèle défini par la valeur de FIGURER est ignoré lors de la génération des noms de fichiers correspondants.
Les noms . et .. sont également ignorés. Si FIGURER n'est pas défini, le caractère . au
le début de chaque composant de nom de fichier sera ignoré à moins que le premier caractère du
le motif correspondant à ce composant est le caractère . lui-même. A noter que pour les autres
utilisations du modèle correspondant à la / et . ne sont pas traités spécialement.
* Correspond à n'importe quelle chaîne, y compris la chaîne nulle. Lorsqu'il est utilisé pour le nom de fichier
expansion, si le étoile mondiale l'option est activée, deux adjacents *'s par lui-même sera
correspondre à tous les fichiers et à zéro ou plusieurs répertoires et sous-répertoires. Si
suivie d'une / alors seuls les répertoires et sous-répertoires correspondent.
? Correspond à n'importe quel caractère.
[...] Correspond à l'un des caractères inclus. Une paire de caractères séparés
by - correspond à n'importe quel caractère lexicalement compris entre la paire, inclus. Si la
premier caractère après l'ouverture [ est une ! or ^ alors tout caractère non
ci-joint correspond. UNE - peut être inclus dans le jeu de caractères en le mettant
comme premier ou dernier caractère.
Dans [ et ], les classes de caractères peuvent être spécifiées avec la syntaxe [:classe:]
où classe est l'une des classes suivantes définies dans la norme ANSI-C :
(Notez que mot équivaut à numéro d'album plus le personnage _.)
numéro d'album Alpha vide ctrl chiffre graphique baisser impression point espace supérieur mot
xchiffre
Dans [ et ], une classe d'équivalence peut être spécifiée avec la syntaxe [=c=]
qui correspond à tous les caractères avec le même poids de classement principal (comme
défini par la locale actuelle) en tant que caractère c. Dans [ et ],
[.symbole.] correspond au symbole d'assemblage symbole.
A liste-modèle est une liste d'un ou plusieurs motifs séparés les uns des autres par un & or ⎪.
A & signifie que tous les modèles doivent correspondre alors que ⎪ nécessite qu'un seul modèle
être apparié. Les motifs composites peuvent être formés avec un ou plusieurs des sous-ensembles suivants
modèles:
?(liste-modèle)
Correspond éventuellement à l'un 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.
{n}(liste-modèle)
Correspondances n occurrences des modèles donnés.
{m,n}(liste-modèle)
Matchs de m à n occurrences des modèles donnés. Si m est omis, 0
sera utilisé. Si n est omis au moins m les occurrences seront mises en correspondance.
@(liste-modèle)
Correspond exactement à l'un des modèles donnés.
!(liste-modèle)
Correspond à tout sauf à l'un des modèles donnés.
Par défaut, chaque modèle ou sous-modèle correspondra à la chaîne cohérente la plus longue possible
avec la génération du match global le plus long. Si plusieurs correspondances sont possibles, celle
commençant le plus près du début de la chaîne sera choisi. Cependant, pour chacun des
au-dessus des motifs composés a - peut être inséré devant le ( provoquer le match le plus court
à l'spécifié liste-modèle à utiliser.
Quand liste-modèle est contenu entre parenthèses, le caractère barre oblique inverse \ est traité
spécialement même à l'intérieur d'une classe de personnage. Tous les caractères d'échappement ANSI-C sont
reconnu et correspond au caractère spécifié. De plus, les séquences d'échappement suivantes
sont reconnus :
\d Correspond à n'importe quel caractère du chiffre classe.
\D Correspond à tout caractère ne figurant pas dans le chiffre classe.
\s Correspond à n'importe quel caractère du espace classe.
\S Correspond à tout caractère ne figurant pas dans le espace classe.
\w Correspond à n'importe quel caractère du mot classe.
\W Correspond à tout caractère ne figurant pas dans le mot classe.
Un modèle de la forme %(modèle-paire(S)) est un sous-modèle qui peut être utilisé pour faire correspondre
expressions de caractère. Chaque modèle-paire est une séquence de deux caractères qui ne peut pas contenir
& or ⎪. La première modèle-paire spécifie les caractères de début et de fin pour le
rencontre. Chaque suite modèle-paire représente les caractères de début et de fin d'un
groupe imbriqué qui sera ignoré lors du comptage des caractères de début et de fin
allumettes. Le comportement n'est pas spécifié lorsque le premier caractère d'un modèle-paire est alpha-
numérique à l'exception des éléments suivants :
D Le caractère de fin met fin à la recherche de ce motif sans
trouver une correspondance.
E Le caractère de fin est interprété comme un caractère d'échappement.
L Fait en sorte que le caractère de fin soit interprété comme un guillemet provoquant
tous les caractères à ignorer lors de la recherche d'une correspondance.
Q Fait en sorte que le caractère de fin soit interprété comme un guillemet provoquant
tous les caractères autres que tout caractère d'échappement à ignorer lors de la recherche
pour un match.
Ainsi, %({}Q"E\), correspond aux caractères commençant à { jusqu'à la correspondance } se trouve pas
compter n'importe quel { or } qui est à l'intérieur d'une chaîne entre guillemets ou précédé par l'échappement
caractère \. Sans le {} ce modèle correspond à n'importe quelle chaîne de langage C.
Chaque sous-motif d'un motif composite est numéroté, à partir de 1, par l'emplacement du
( dans le modèle. La séquence \n, Où n est un seul chiffre et \n vient après le
n-e. sous-modèle, correspond à la même chaîne que le sous-modèle lui-même.
Enfin un motif peut contenir des sous-motifs de la forme ∼(Options:liste-modèle), Où
non plus Options or :liste-modèle peut être omis. Contrairement aux autres modèles composés, ces
les sous-motifs ne sont pas comptés dans les sous-motifs numérotés. :liste-modèle doit être omis
pour les options F, G, N , et V au dessous de. Si Options est présent, il peut consister en un ou plusieurs
du suivant:
+ Activez les options suivantes. C'est la valeur par défaut.
- Désactivez les options suivantes.
E Le reste du modèle utilise une syntaxe d'expression régulière étendue comme
le égrep(1) commande.
F Le reste du modèle utilise grep(1) syntaxe des expressions.
G Le reste du modèle utilise la syntaxe d'expression régulière de base comme le
grep(1) commande.
K Le reste du modèle utilise la syntaxe du modèle shell. C'est le
défaut.
N Ceci est ignoré. Cependant, lorsqu'il s'agit de la première lettre et qu'il est utilisé avec le fichier
génération de nom, et aucune correspondance ne se produit, le modèle de fichier se développe vers le vide
chaîne.
X Le reste du modèle utilise une syntaxe d'expression régulière augmentée comme
le xgrep(1) commande.
P Le reste du modèle utilise perl(1) la syntaxe des expressions régulières. Pas
toute la syntaxe des expressions régulières perl est actuellement implémentée.
V Le reste du modèle utilise la syntaxe d'expression régulière System V.
i Traitez la correspondance comme insensible à la casse.
g Fichier le match le plus long (gourmand). C'est la valeur par défaut.
l Ancre à gauche le motif. C'est la valeur par défaut pour K modèles de style.
r Ancrez le motif à droite. C'est la valeur par défaut pour K modèles de style.
Si les deux Options et :liste-modèle sont spécifiés, les options ne s'appliquent qu'à modèle-
liste. Sinon, ces options restent en vigueur jusqu'à ce qu'elles soient désactivées par un
∼(...) ou à la fin du sous-modèle contenant ∼(...).
Citant.
Chacun de la métacaractères énumérés plus haut (voir Définitions ci-dessus) a une signification particulière pour
le shell et provoque la terminaison d'un mot à moins qu'il ne soit cité. Un personnage peut être cité
(c'est-à-dire, fait pour se tenir debout) en le faisant précéder d'un \. La paire \nouvelle ligne est retiré.
Tous les caractères entre une paire de guillemets simples (′ ′) qui n'est pas précédé de
a $ sont cités. Un guillemet simple ne peut pas apparaître dans les guillemets simples. Un seul cité
chaîne précédée d'un sans guillemets $ est traité comme une chaîne ANSI-C à l'exception du
Suivante à la suite:
\0 Le reste de la chaîne est ignoré.
\E Équivalent au caractère d'échappement (ascii 033),
\e Équivalent au caractère d'échappement (ascii 033),
\cx S'étend au contrôle de caractère-x.
\C[.prénom.]
S'étend à l'élément d'assemblage prénom.
Entre guillemets doubles (""), la substitution de paramètres et de commandes se produit et \ cite le
caractères \, `, "et $. A $ devant une chaîne entre guillemets seront ignorés dans le
locale "C" ou "POSIX", et peut entraîner le remplacement de la chaîne par une chaîne spécifique à la locale
autrement. Le sens de $∗ et $@ est identique lorsqu'il n'est pas cité ou lorsqu'il est utilisé comme
valeur d'affectation de variable ou comme nom de fichier. Cependant, lorsqu'il est utilisé comme argument de commande,
"$∗" équivaut à "1 XNUMX $d$2d...", Où d est le premier caractère du IFS variable,
Les "$@" équivaut à «$ 1» «$ 2» .... À l'intérieur des guillemets funéraires (``), \ cite le
caractères \, `et $. Si les guillemets graves apparaissent entre guillemets doubles, alors \ aussi
cite le personnage ".
La signification spéciale des mots réservés ou des alias peut être supprimée en citant n'importe quel caractère
du mot réservé. La reconnaissance des noms de fonctions ou des noms de commandes intégrées répertoriés
ci-dessous ne peuvent pas être modifiés en les citant.
Arithmétique Évaluation.
Le shell effectue une évaluation arithmétique pour la substitution arithmétique, pour évaluer un
commande arithmétique, pour évaluer un indice de tableau indexé et pour évaluer les arguments à
les commandes intégrées décalage et laisser. Les évaluations sont effectuées en double précision
arithmétique à virgule flottante ou virgule flottante longue double précision pour les systèmes qui fournissent
ce type de données. Les constantes à virgule flottante suivent le langage de programmation ANSI-C flottant
conventions de points. Les constantes à virgule flottante Nan et Inf peut être utilisé pour représenter "pas
un nombre" et l'infini respectivement. Les constantes entières suivent la programmation ANSI-C
conventions de constantes entières de langage bien que seules les constantes de caractères à un octet soient
reconnus et les distributions de caractères ne sont pas reconnues. De plus, les constantes peuvent être du type
former [base#]n où base est un nombre décimal compris entre deux et soixante-quatre représentant le
base arithmétique et n est un nombre dans cette base. Les chiffres au-dessus de 9 sont représentés par le
les lettres minuscules, les lettres majuscules, @et _ respectivement. Pour les bases inférieures ou
égal à 36, les caractères majuscules et minuscules peuvent être utilisés de manière interchangeable.
Une expression arithmétique utilise la même syntaxe, priorité et associativité d'expression
comme langage C. Tous les opérateurs du langage C qui s'appliquent aux quantités à virgule flottante
peut être utilisé. De plus, l'opérateur ** peut être utilisé pour l'exponentiation. Il a plus
priorité que la multiplication et est laissé associatif. De plus, lorsque la valeur d'un
la variable arithmétique ou la sous-expression peut être représentée sous la forme d'un entier long, tout en langage C
des opérations arithmétiques entières peuvent être effectuées. Les variables peuvent être référencées par leur nom
dans une expression arithmétique sans utiliser la syntaxe d'expansion de paramètre. Lorsqu'un
variable est référencée, sa valeur est évaluée comme une expression arithmétique.
N'importe laquelle des fonctions suivantes de la bibliothèque mathématique qui se trouve dans la bibliothèque mathématique C peut être utilisée
dans une expression arithmétique :
Abdos aços Acosh un péché asinh un bronzage atan2 atanh cbrt Ceil signe de copie cos matraque erf erfc exp exp2
expm1 fabs fpclassifier fdim fini sol fma fmax fmin fmod hypothese ilogb int est fini classe
Isnan Est normal est subnormal issuebordé est zéro j0 j1 jn lgamma enregistrer Log10 Log2 journal
à proximité après après à côté pow reste menthe Round scanner signe sans sinh sqrt bronzage
Tanh tgamma tronc y0 y1 yn De plus, les fonctions arithmétiques peuvent être définies comme shell
fonctionne avec une variante du fonction prénom syntaxe,
fonction .sh.math.prénom ident ... { liste ;}
où prénom est le nom de la fonction utilisé dans l'expression arithmétique et chaque
identifiant, ident est une référence de nom à la virgule flottante longue double précision
argument. La valeur de .sh.valeur quand la fonction retourne est la valeur de ce
fonction. Les fonctions définies par l'utilisateur peuvent prendre jusqu'à 3 arguments et écraser les mathématiques C
fonctions de la bibliothèque.
Une représentation interne d'un variable comme une virgule flottante double précision peut être
spécifié avec le -E [n], -F [n], ou -X [n] option de la composer spécial intégré
commander. le -E L'option provoque l'expansion de la valeur à représenter en utilisant
notation scientifique lorsqu'elle est développée. L'argument d'option facultatif n définit le
nombre de chiffres significatifs. Les -F l'option fait que l'expansion est représentée comme un
nombre décimal flottant lorsqu'il est développé. Les -X option provoquer l'expansion d'être
représenté à l'aide de %a format défini par ISO C-99. L'argument d'option facultatif n
définit le nombre de positions après la virgule (ou la base) dans ce cas.
Une représentation entière interne d'un variable peut être spécifié avec le -i [n] options
du système composer commande intégrée spéciale. L'argument d'option facultatif n spécifie un
base arithmétique à utiliser lors du développement de la variable. Si vous ne spécifiez pas de
base arithmétique, la base 10 sera utilisée.
L'évaluation arithmétique est effectuée sur la valeur de chaque affectation à une variable avec le
-E, -F, -X, ou -i attribut. Affectation d'un nombre à virgule flottante à une variable dont le type
est un entier provoque la troncature de la partie fractionnaire.
Incitant.
Lorsqu'il est utilisé de manière interactive, le shell invite avec la valeur de PS1 après l'avoir étendu pour
l'expansion des paramètres, la substitution de commande et la substitution arithmétique, avant de lire un
commander. De plus, chaque simple ! dans l'invite est remplacé par le numéro de commande. UNE
!! est tenu de placer ! dans l'invite. Si à tout moment une nouvelle ligne est tapée et
est nécessaire pour terminer une commande, puis l'invite secondaire (c'est-à-dire la valeur de PS2)
est émis.
Conditionnel Expressions.
A conditionnels. expression est utilisé avec le [[ commande composée pour tester les attributs des fichiers
et de comparer des chaînes. Le fractionnement des champs et la génération de noms de fichiers ne sont pas effectués sur le
mots entre [[ et ]]. Chaque expression peut être construite à partir d'un ou plusieurs des
expressions unaires ou binaires suivantes :
un magnifique Vrai, si un magnifique est non nulle.
-a filet
Pareil que -e au dessous de. C'est obsolète.
-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 ordinaire.
-g filet
Vrai, si filet existe et son bit setgid est défini.
-k filet
Vrai, si filet existe et il a son jeu de bits collants.
-n un magnifique
Vrai, si la longueur de un magnifique est non nul.
-o ?option
Vrai, si l'option est nommée option est un nom d'option valide.
-o option
Vrai, si l'option est nommée option est sur.
-p filet
Vrai, si filet existe et est un fichier spécial fifo ou un tube.
-r filet
Vrai, si filet existe et est lisible par le processus en cours.
-s filet
Vrai, si filet existe et a une taille supérieure à zéro.
-t fils
Vrai, si le numéro de descripteur de fichier fils est ouvert et associé à un terminal
appareil.
-u filet
Vrai, si filet existe et son bit setuid est défini.
-v prénom
Vrai, si variable prénom est un nom de variable valide et est défini.
-w filet
Vrai, si filet existe et est accessible en écriture par le processus actuel.
-x filet
Vrai, si filet existe et est exécutable par le processus en cours. Si filet existe et est un
répertoire, alors vrai si le processus en cours a l'autorisation de rechercher dans le
répertoire.
-z un magnifique
Vrai, si la longueur de un magnifique est zéro.
-L filet
Vrai, si filet existe et est un lien symbolique.
-h filet
Vrai, si filet existe et est un lien symbolique.
-N filet
Vrai, si filet existe et que l'heure de modification est supérieure au dernier accès
le temps.
-O filet
Vrai, si filet existe et appartient à l'ID utilisateur effectif de ce processus.
-G filet
Vrai, si filet existe et son groupe correspond à l'ID de groupe effectif de ce processus.
-R prénom
Vrai si variable prénom est une référence de nom.
-S filet
Vrai, si filet existe et est une socket.
file1 -NT file2
Vrai, si file1 existe et file2 pas, ou file1 est plus récent que file2.
file1 -pas file2
Vrai, si file2 existe et file1 pas, ou file1 est plus vieux que file2.
file1 -si file2
Vrai, si file1 et file2 existent et font référence au même fichier.
un magnifique == modèle
Vrai, si un magnifique allumettes modèle. Toute partie de modèle peut être cité pour le faire
être mis en correspondance comme une chaîne. Avec une correspondance réussie avec un modèle, le .sh.match tableau
La variable contiendra la correspondance et les correspondances de sous-modèle.
un magnifique = modèle
Pareil que == ci-dessus, mais est obsolète.
un magnifique != modèle
Vrai, si un magnifique ne correspond pas modèle. Lorsque l' un magnifique correspond à la modèle le
.sh.match La variable de tableau contiendra la correspondance et les correspondances de sous-modèle.
un magnifique =∼ a dit que
Vrai si un magnifique correspond au modèle (E)a dit que où a dit que est un habitué prolongé
expression.
string1 < string2
Vrai, si string1 vient avant string2 en fonction de la valeur ASCII de leurs caractères.
string1 > string2
Vrai, si string1 vient après string2 en fonction de la valeur ASCII de leurs caractères.
Les comparaisons arithmétiques obsolètes suivantes sont également autorisées :
exp1 -eq exp2
Vrai, si exp1 est égal à exp2.
exp1 -Ne exp2
Vrai, si exp1 n'est pas égal à exp2.
exp1 -lt exp2
Vrai, si exp1 est inférieur à exp2.
exp1 -Gt exp2
Vrai, si exp1 est supérieure exp2.
exp1 -Le exp2
Vrai, si exp1 est inférieur ou égal à exp2.
exp1 -donner exp2
Vrai, si exp1 est supérieur ou égal à exp2.
Dans chacune des expressions ci-dessus, si filet est de la forme /dev/fd/n, Où n est un entier,
puis le test est appliqué au fichier ouvert dont le numéro de descripteur est n.
Une expression composée peut être construite à partir de ces primitives en utilisant l'un des
suivants, classés par ordre décroissant de préséance.
(expression)
Vrai, si expression est vrai. Utilisé pour regrouper des expressions.
! expression
Vrai si expression c'est faux.
expression1 && expression2
Vrai, si expression1 et expression2 sont tous les deux vrais.
expression1 ?? expression2
Vrai, si l'un ou l'autre expression1 or expression2 est vrai.
Entrée sortie.
Avant qu'une commande ne soit exécutée, son entrée et sa sortie peuvent être redirigées à l'aide d'un
notation interprétée par le shell. Ce qui suit peut apparaître n'importe où dans une simple commande
ou peut précéder ou suivre un commander et sont pas transmis à la commande invoquée. Commander
la substitution, l'expansion des paramètres et la substitution arithmétique se produisent avant mot or chiffre
est utilisé sauf comme indiqué ci-dessous. La génération de nom de fichier se produit uniquement si le shell est
interactif et le modèle correspond à un seul fichier. La division des champs n'est pas effectuée.
Dans chacune des redirections suivantes, si filet est de la forme /dev/sctp/hôte/port,
/dev/tcp/hôte/port, ou /dev/udp/hôte/port, Où hôte est un nom d'hôte ou une adresse d'hôte, et
port est un service donné par un nom ou un numéro de port entier, alors la redirection tente
effectuer une tcp, sctp or udp connexion à la prise correspondante.
Aucun espace intermédiaire n'est autorisé entre les caractères des opérateurs de redirection.
<mot Utiliser le fichier mot comme entrée standard (descripteur de fichier 0).
>mot Utiliser le fichier mot comme sortie standard (descripteur de fichier 1). Si le fichier ne
exister alors il est créé. Si le fichier existe et que le nul option est
allumé, cela provoque une erreur ; sinon, il est tronqué à une longueur nulle.
>|mot Pareil que >, sauf qu'il remplace le nul option.
>;mot Écrire la sortie dans un fichier temporaire. Si la commande se termine avec succès
renommez-le en mot, sinon, supprimez le fichier temporaire. >;mot c'est pas possible
utilisé avec le exec(2). intégré.
>>mot Utiliser le fichier mot comme sortie standard. Si le fichier existe, la sortie est
en annexe (en cherchant d'abord la fin du fichier) ; sinon, le fichier est
créé.
<>mot Ouvrir le fichier mot pour la lecture et l'écriture comme sortie standard.
<> ;mot Le même que <>mot sauf que si la commande se termine avec succès, mot
est tronqué au décalage à la fin de la commande. <> ;mot Ne peut pas être utilisé
grâce à la fonction exec(2). intégré.
<<[-]mot L'entrée du shell est lue jusqu'à une ligne qui est la même que mot après tout
la citation a été supprimée, ou à une fin de fichier. Pas de substitution de paramètre,
la substitution de commande, la substitution arithmétique ou la génération de nom de fichier est
effectué sur mot. Le document résultant, appelé un ici-document, devient
l'entrée standard. Si un caractère de mot est cité, alors non
l'interprétation est placée sur les caractères du document ; autrement,
développement de paramètres, substitution de commandes et substitution arithmétique
se produire, \nouvelle ligne est ignoré, et \ doit être utilisé pour citer les caractères \,
$, `. Si - est annexé à <<, alors toutes les tabulations de début sont supprimées de mot
et à partir du document. Si # est annexé à <<, puis les espaces de début et les tabulations
sera supprimé de la première ligne du document et jusqu'à un équivalent
l'indentation sera supprimée des lignes restantes et de mot. Un onglet
l'arrêt est supposé se produire toutes les 8 colonnes aux fins de déterminer
l'indentation.
<<mot Une forme abrégée de ce document dans lequel mot devient le contenu du
here-document après toute extension de paramètre, substitution de commande et
substitution arithmétique se produisent.
<&chiffre L'entrée standard est dupliquée à partir du descripteur de fichier chiffre (voir dup(2)).
De même pour la sortie standard utilisant >&chiffre.
<&chiffre- Le descripteur de fichier donné par chiffre est déplacé vers l'entrée standard. de la même manière
pour la sortie standard en utilisant >&chiffre-.
<&- L'entrée standard est fermée. De même pour la sortie standard utilisant >&-.
<&p L'entrée du co-processus est déplacée vers l'entrée standard.
>&p La sortie vers le co-processus est déplacée vers la sortie standard.
<#((expr)) Évaluer l'expression arithmétique expr et positionnez le descripteur de fichier 0 sur le
octets de valeur résultants à partir du début du fichier. Les variables CUR et EOF
évaluer respectivement l'offset actuel et l'offset de fin de fichier lorsque
évaluer exp.
>#((compenser)) Le même que <# sauf s'applique au descripteur de fichier 1.
<#modèle Recherche le début de la ligne suivante contenant modèle.
<##modèle Le même que <# sauf que la partie du fichier qui est ignorée est copiée
à la sortie standard.
Si l'un des éléments ci-dessus est précédé d'un chiffre, sans espace, alors le fichier
le numéro de descripteur auquel il est fait référence est celui spécifié par le chiffre (au lieu du 0 ou
1). Si l'un des éléments ci-dessus, autre que >&- et la ># et <# formes, est précédé de {varname}
sans espace intermédiaire, alors un numéro de descripteur de fichier > 10 sera sélectionné par le
shell et stocké dans la variable varname. Si >&- ou l'un des ># et <# formes est
précédé par {varname} la valeur de varname définit le descripteur de fichier à fermer ou
position. Par exemple:
... 2> et 1
signifie que le descripteur de fichier 2 doit être ouvert pour l'écriture en tant que duplicata du descripteur de fichier 1
et
exec {n}
signifie ouvrir le fichier nommé filet pour lire et stocker le numéro de descripteur de fichier dans la variable n.
L'ordre dans lequel les redirections sont spécifiées est important. Le shell évalue chaque
redirection en termes de (filet descripteur, filet) association au moment de l'évaluation.
Par exemple :
... 1>fnom 2> et 1
associe d'abord le descripteur de fichier 1 au fichier fnom. Il associe alors le descripteur de fichier 2
avec le fichier associé au descripteur de fichier 1 (c'est-à-dire fnom). Si l'ordre de
les redirections ont été inversées, le descripteur de fichier 2 serait associé au terminal
(en supposant que le descripteur de fichier 1 ait été), puis le descripteur de fichier 1 serait associé à
filet fnom.
Si une commande est suivie de & et le contrôle des tâches n'est pas actif, alors la norme par défaut
l'entrée de la commande est le fichier vide / dev / null. Sinon, l'environnement pour le
l'exécution d'une commande contient les descripteurs de fichier du shell appelant tels que modifiés par
spécifications d'entrée/sortie.
Environnement.
Le manuel de formation convivial (voir environ(7)) est une liste de paires nom-valeur qui est passée à un
programme exécuté de la même manière qu'une liste d'arguments normale. Les noms doivent être Identificateurs
et les valeurs sont des chaînes de caractères. La coquille interagit avec l'environnement dans plusieurs
façons. A l'invocation, le shell scanne l'environnement et crée une variable pour chaque nom
trouvé, en lui donnant la valeur et les attributs correspondants et en le marquant Exporter. Réalisé
les commandes héritent de l'environnement. Si l'utilisateur modifie les valeurs de ces variables ou
en crée de nouveaux, en utilisant le Exporter or composer -x commandes, ils font partie du
environnement. L'environnement vu par toute commande exécutée est donc composé de tout nom-
paires de valeurs héritées à l'origine par le shell, dont les valeurs peuvent être modifiées par le courant
coquille, plus tous les ajouts qui doivent être notés dans Exporter or composer -x les commandes.
L'environnement pour tout commande-simple ou la fonction peut être augmentée en la préfixant avec
une ou plusieurs affectations de variables. Un argument d'affectation de variable est un mot de la forme
identifiant=valeur. Donc:
TERME=450 cmd args et
(exportation TERME; TERME=450 ; cmd arguments)
sont équivalentes (dans la mesure où l'exécution ci-dessus de cmd est concerné sauf cas particulier
commandes intégrées répertoriées ci-dessous - celles qui sont précédées d'un poignard).
Si l'obsolète -k l'option est définie, tous les arguments d'affectation de variable sont placés dans le
environnement, même s'ils apparaissent après le nom de la commande. Les premiers tirages suivants a = b c
et alors c:
echo a = b c
set -k
echo a = b c
Cette fonctionnalité est destinée à être utilisée avec des scripts écrits pour les premières versions du shell et
son utilisation dans de nouveaux scripts est fortement déconseillée. Il est probable qu'il disparaisse un jour.
Les fonctions.
Pour des raisons historiques, il existe deux manières de définir les fonctions, la prénom() la syntaxe et le
fonction prénom syntaxe, décrite dans le Commandes section ci-dessus. Les fonctions du shell sont lues
dans et stocké en interne. Les noms d'alias sont résolus lorsque la fonction est lue. Les fonctions
sont exécutées comme des commandes avec les arguments passés en paramètres positionnels. (Voir
Internationaux au dessous de.)
Fonctions définies par le fonction prénom syntaxe et appelé par son nom s'exécute dans le même
traiter en tant qu'appelant et partager tous les fichiers et présenter le répertoire de travail avec l'appelant.
Les pièges interceptés par l'appelant sont réinitialisés à leur action par défaut à l'intérieur de la fonction. Un piège
une condition qui n'est pas interceptée ou ignorée par la fonction entraîne la fin de la fonction
et la condition à transmettre à l'appelant. Un piège sur EXIT défini à l'intérieur d'une fonction est
exécuté dans l'environnement de l'appelant une fois la fonction terminée. Ordinairement,
les variables sont partagées entre le programme appelant et la fonction. Cependant, le composer
commande intégrée spéciale utilisée dans une fonction définit des variables locales dont la portée
inclut la fonction actuelle. Ils peuvent être passés aux fonctions qu'ils appellent dans le
liste d'affectation des variables qui précède l'appel ou comme arguments passés comme références de nom.
Les erreurs dans les fonctions redonnent le contrôle à l'appelant.
Fonctions définies avec le prénom() syntaxe et fonctions définies avec le fonction prénom
syntaxe qui sont invoqués avec le . spécial intégré sont exécutés dans l'appelant
l'environnement et partager toutes les variables et pièges avec l'appelant. Les erreurs au sein de ces
les exécutions de fonctions provoquent l'abandon du script qui les contient.
La commande spéciale intégrée retourner est utilisé pour revenir des appels de fonction.
Les noms de fonction peuvent être répertoriés avec le -f or +f choix du composer spécial intégré
commander. Le texte des fonctions, lorsqu'il est disponible, sera également répertorié avec -f. Les fonctions
peut être indéfini avec le -f choix du unset commande intégrée spéciale.
Normalement, les fonctions ne sont pas définies lorsque le shell exécute un script shell. Des fonctions qui
doivent être définis à travers des appels séparés du shell doivent être placés dans un
répertoire et le FPATH La variable doit contenir le nom de ce répertoire. Ils peuvent également
être spécifié dans le ENV fichier.
Discipline Les fonctions.
Chaque variable peut avoir zéro ou plusieurs fonctions de discipline qui lui sont associées. La coquille
comprend initialement les noms des disciplines obtenez, set, ajouteret unset mais peut être ajouté
lors de la définition de nouveaux types. Sur la plupart des systèmes, d'autres peuvent être ajoutés au moment de l'exécution via le C
extension d'interface de programmation fournie par le builtin utilitaire intégré. Si la obtenez
discipline est définie pour une variable, elle est invoquée chaque fois que la variable donnée est
référencé. Si la variable .sh.valeur se voit attribuer une valeur à l'intérieur de la fonction de discipline,
la variable référencée évaluera à la place cette valeur. Si la set la discipline est
défini pour une variable, il est invoqué chaque fois que la variable donnée reçoit une valeur. Si
le ajouter discipline est définie pour une variable, elle est invoquée chaque fois qu'une valeur est
ajouté à la variable donnée. La variable .sh.valeur reçoit la valeur de la variable
avant d'invoquer la discipline, et la variable se verra attribuer la valeur de .sh.valeur
une fois la discipline terminée. Si .sh.valeur est désarmé à l'intérieur de la discipline, alors que
la valeur est inchangée. Si la unset la discipline est définie pour une variable, elle est invoquée
chaque fois que la variable donnée n'est pas définie. La variable ne sera pas désactivée à moins qu'elle ne soit désactivée
explicitement au sein de cette fonction disciplinaire.
La variable .sh.nom contient le nom de la variable pour laquelle la discipline fonctionne
est appelé, .sh.indice est l'indice de la variable, et .sh.valeur contiendra le
valeur étant attribuée à l'intérieur du set fonction disciplinaire. La variable _ est une référence à
la variable, y compris l'indice s'il y a lieu. Pour le set discipline, changement .sh.valeur
changera la valeur qui est attribuée. Enfin, l'extension ${var.prénom}, Lorsque prénom
est le nom d'une discipline, et il n'y a pas de variable de ce nom, équivaut à la
substitution de commande ${ var.prénom;}.
Nom Les espaces.
Les commandes et fonctions exécutées dans le cadre du liste d'un namespace commande que
modifier des variables ou en créer de nouvelles, créer une nouvelle variable dont le nom est le nom du
espace de nom donné par identifiant précédé par .. Lorsqu'une variable dont le nom est prénom is
référencé, il est d'abord recherché à l'aide .identifiant.prénom. De même, une fonction
défini par une commande dans le namespace liste est créé à l'aide du nom d'espace de nom précédé
par une ..
When the liste d'un namespace la commande contient un namespace commande, les noms des variables
et les fonctions qui sont créées se composent du nom de la variable ou de la fonction précédé du
liste des identifiants chacun précédé de ..
En dehors d'un espace de nom, une variable ou une fonction créée à l'intérieur d'un espace de nom peut être
référencé en le faisant précéder du nom de l'espace de nom.
Par défaut, les variables commençant par . Sh sont dans le sh espace de nom.
Type Variables
Les variables typées permettent de créer une structure de données et des objets. Un type peut être défini
soit par une bibliothèque partagée, par le enum commande intégrée décrite ci-dessous, ou en utilisant le
nouvelle -T choix du composer commande intégrée. Avec le -T option de composer, le type
nom, spécifié comme argument d'option pour -T, est défini avec une affectation de variable composée
qui définit le type. Les définitions de fonction peuvent apparaître à l'intérieur de la variable composée
affectation et celles-ci deviennent des fonctions de discipline pour ce type et peuvent être invoquées ou
redéfini par chaque instance du type. Le nom de la fonction créer des est traité spécialement.
Il est invoqué pour chaque instance du type qui est créée mais n'est pas héritée et
ne peut pas être redéfini pour chaque instance.
Lorsqu'un type est défini, une commande intégrée spéciale de ce nom est ajoutée. Ces éléments intégrés
sont des commandes de déclaration et suivent les mêmes règles d'expansion que toutes les commandes intégrées spéciales
les commandes définies ci-dessous qui sont précédées de ††. Ces commandes peuvent ensuite être utilisées
à l'intérieur d'autres définitions de type. La page de manuel de ces commandes peut être générée par
en utilisant l' --homme option ou l'une des autres -- options décrites avec getopsL’ -r, -a,
-A, -het -S options de composer sont autorisés avec chacun de ces nouveaux éléments intégrés.
Une instance d'un type est créée en appelant le nom du type suivi d'un ou plusieurs
noms d'instances. Chaque instance du type est initialisée avec une copie des sous-variables
sauf pour les sous-variables qui sont définies avec le -S option. Variables définies avec le
-S sont partagés par toutes les instances du type. Chaque instance peut modifier la valeur de n'importe quel
sous-variable et peut également définir de nouvelles fonctions disciplinaires du même nom que celles
défini par la définition de type ainsi que par tout nom de discipline standard. Pas de supplément
des sous-variables peuvent être définies pour n'importe quelle instance.
Lors de la définition d'un type, si la valeur d'une sous-variable n'est pas définie et que le -r l'attribut est
spécifié, il fait que la sous-variable est une sous-variable obligatoire. Chaque fois qu'une instance
d'un type est créé, toutes les sous-variables requises doivent être spécifiées. Ces sous-variables
deviennent en lecture seule dans chaque instance.
Quand unset est invoqué sur une sous-variable dans un type, et le -r l'attribut n'a pas été
spécifié pour ce champ, la valeur est réinitialisée à la valeur par défaut associée à la
taper. Invocation unset sur une instance de type non contenue dans un autre type supprime tout
sous-variables et la variable elle-même.
Une définition de type peut être dérivée d'une autre définition de type en définissant la première sous-
nom de variable comme _ et en définissant son type comme type de base. Toutes les définitions restantes seront
être des ajouts et des modifications qui s'appliquent au nouveau type. Si le nouveau nom de type est le
même est celui du type de base, le type sera remplacé et le type d'origine ne sera pas
plus être accessible.
Le manuel de formation composer commande avec le -T et aucun argument d'option ou opérande n'écrira tout le type
définitions à la sortie standard sous une forme qui peut être lue pour créer tout ce qu'elles
les types.
Offres d'emploi.
Si la moniteur choix du set est activée, un shell interactif associe un
JOB avec chaque canalisation. Il conserve un tableau des travaux en cours, imprimé par le emplois commander,
et leur attribue de petits nombres entiers. Lorsqu'un travail est démarré de manière asynchrone avec &, un
shell affiche une ligne qui ressemble à :
[1] 1234
indiquant que le travail qui a été démarré de manière asynchrone était le travail numéro 1 et en avait un
(de niveau supérieur), dont l'ID de processus était 1234.
Ce paragraphe et le suivant nécessitent des fonctionnalités qui ne sont pas dans toutes les versions d'UNIX et peuvent
ne s'applique pas. Si vous exécutez un travail et souhaitez faire autre chose, vous pouvez appuyer sur la touche ^Z
(contrôle-Z) qui envoie un signal STOP à la tâche en cours. La coque sera alors normalement
indiquez que le travail a été « Arrêté » et imprimez une autre invite. Vous pouvez alors
manipuler l'état de ce travail, le mettre en arrière-plan avec le bg commande ou exécuter
d'autres commandes, puis de remettre le travail au premier plan avec le
commande de premier plan fg. A ^Z prend effet immédiatement et est comme une interruption en ce sens
la sortie en attente et l'entrée non lue sont rejetées lorsqu'elles sont saisies.
Un travail exécuté en arrière-plan s'arrêtera s'il essaie de lire à partir du terminal.
Les travaux d'arrière-plan sont normalement autorisés à produire une sortie, mais cela peut être désactivé en donnant
la commande Sty arrêter. Si vous définissez cette option tty, les tâches d'arrière-plan s'arrêteront lorsque
ils essaient de produire une sortie comme ils le font lorsqu'ils essaient de lire une entrée.
Un pool d'emplois est un ensemble d'emplois commencés avec liste & associé à un nom.
Il existe plusieurs façons de faire référence à des tâches dans le shell. Un emploi peut être référencé par le
ID de processus de n'importe quel processus du travail ou par l'un des éléments suivants :
%nombre
Le travail avec le numéro donné.
pool Tous les emplois du pool d'emplois nommés par pool.
pool.nombre
Le numéro de travail nombre dans le bassin d'emplois nommé par pool.
%un magnifique
Tout travail dont la ligne de commande commence par un magnifique.
%?un magnifique
Tout travail dont la ligne de commande contient un magnifique.
%% Travail actuel.
%+ Équivalent à %%.
%- Emploi précédent. De plus, sauf indication contraire, partout où un travail peut être
spécifié, le nom d'un pool de jobs d'arrière-plan peut être utilisé pour représenter tous les jobs
dans cette piscine.
Le shell apprend immédiatement chaque fois qu'un processus change d'état. Il vous informe normalement
chaque fois qu'un travail est bloqué de sorte qu'aucun progrès supplémentaire n'est possible, mais seulement
avant d'imprimer une invite. Ceci est fait pour que cela ne perturbe pas autrement votre travail.
Le manuel de formation notifier choix du set La commande oblige le shell à imprimer ces messages de changement de tâche
dès qu'ils surviennent.
When the moniteur l'option est activée, chaque tâche d'arrière-plan qui se termine déclenche n'importe quel ensemble d'interruptions
pour ENFANT.
Lorsque vous essayez de quitter le shell pendant que les tâches sont en cours d'exécution ou arrêtées, vous serez averti que
`Vous avez arrêté (en cours) des travaux.' Vous pouvez utiliser le emplois commande pour voir ce qu'ils sont. Si
vous essayez immédiatement de quitter à nouveau, le shell ne vous avertira pas une deuxième fois, et le
les travaux arrêtés seront terminés. Lorsqu'un shell de connexion reçoit un signal HUP, il envoie un HUP
signal à chaque travail qui n'a pas été renié avec le renier commande intégrée décrite
ci-dessous.
Signaux.
Les signaux INT et QUIT d'une commande invoquée sont ignorés si la commande est suivie de
& et la moniteur l'option n'est pas active. Sinon, les signaux ont les valeurs héritées par
le shell de son parent (mais voir aussi le piège commande intégrée ci-dessous).
Exécution.
Chaque fois qu'une commande est lue, les substitutions ci-dessus sont effectuées. Si le nom de la commande
correspond à l'un des Spécial Encastré Commandes ci-dessous, il est exécuté dans le
processus shell actuel. Ensuite, le nom de la commande est vérifié pour voir s'il correspond à un utilisateur
fonction définie. Si c'est le cas, les paramètres de position sont enregistrés puis réinitialisés à la
arguments de la fonction appel. Une fonction est également exécutée dans le processus shell courant.
When the fonction remplit ou délivre un retourner, la liste des paramètres de position est restaurée.
Pour les fonctions définies avec le fonction prénom syntaxe, toute interruption définie sur EXIT au sein du
la fonction est exécutée. La valeur de sortie d'un fonction est la valeur de la dernière commande
réalisé. Si un nom de commande n'est pas un pour un spécial intégré commander ou un utilisateur défini fonction,
mais c'est l'une des commandes intégrées répertoriées ci-dessous, elle est exécutée dans le shell actuel
processus.
Les variables shell PATH suivi de la variable FPATH définit la liste des répertoires à
rechercher le nom de la commande. Les noms de répertoire alternatifs sont séparés par deux points (:).
Le chemin par défaut est / bin:/ usr / bin: (en précisant / bin, / usr / bin, et le répertoire courant
dans cet ordre). Le répertoire courant peut être spécifié par deux ou plusieurs deux-points adjacents, ou
par deux points au début ou à la fin de la liste des chemins. Si le nom de la commande contient un /,
alors le chemin de recherche n'est pas utilisé. Sinon, chaque répertoire de la liste des répertoires
Défini par PATH et FPATH est vérifié dans l'ordre. Si le répertoire recherché est
contenu dans FPATH et contient un fichier dont le nom correspond à la commande recherchée, puis
ce fichier est chargé dans l'environnement shell courant comme s'il était l'argument du .
sauf que seuls les alias prédéfinis sont développés et qu'une fonction du nom donné est
exécuté comme décrit ci-dessus.
Si ce répertoire n'est pas dans FPATH le shell détermine d'abord s'il existe un
version d'une commande correspondant à un chemin donné et si c'est le cas elle est invoquée dans le
processus en cours. Si aucun élément intégré n'est trouvé, le shell recherche un fichier nommé .chemins in
ce répertoire. S'il est trouvé et qu'il y a une ligne de la forme FPATH=chemin où chemin nomme un
répertoire existant, ce répertoire est recherché immédiatement après le répertoire actuel
répertoire comme s'il se trouvait dans le FPATH variable. Si chemin ne commence pas par /, c'est
vérifié par rapport au répertoire recherché.
Le manuel de formation .chemins fichier est ensuite vérifié pour une ligne de la forme PLUGIN_LIB=nomlib [ : nomlib ]
... . Chaque bibliothèque nommée par nomlib sera recherché comme s'il s'agissait d'un argument d'option
à builtin -f, et s'il contient un élément intégré du nom spécifié, il sera exécuté
au lieu d'une commande de ce nom. Tout module intégré chargé à partir d'une bibliothèque trouvée de cette manière sera
être associé au répertoire contenant les .chemins fichier afin qu'il ne s'exécute que si ce n'est pas le cas
trouvé dans un répertoire antérieur.
Enfin, le répertoire sera vérifié pour un fichier du nom donné. Si le fichier a
autorisation d'exécution mais n'est pas un a.out fichier, il est supposé être un fichier contenant shell
commandes. Un shell séparé est généré pour le lire. Toutes les variables non exportées sont supprimées
dans ce cas. Si le fichier de commandes shell n'a pas d'autorisation de lecture, ou si le tranquille
et/ou définir l'ID bits sont définis sur le fichier, puis le shell exécute un agent dont il est le travail
pour configurer les autorisations et exécuter le shell avec le fichier de commandes shell transmis comme
un fichier ouvert. Si la .chemins contient une ligne de la forme prénom=Plus-value au premier ou au deuxième
ligne, puis la variable d'environnement prénom est modifié en ajoutant le répertoire spécifié
by Plus-value à la liste des répertoires. Si Plus-value n'est pas un répertoire absolu, alors il spécifie
un répertoire relatif au répertoire dans lequel l'exécutable a été trouvé. Si l'environnement
variable prénom n'existe pas déjà, il sera ajouté à la liste des environnements pour le
commande spécifiée. Une commande entre parenthèses est exécutée dans un sous-shell sans suppression
variables non exportées.
Command Rentrée.
Le texte du dernier TAILLE HIST (512 par défaut) les commandes entrées à partir d'un terminal sont
enregistré dans un Histoire déposer. Le fichier $HOME/.sh_history est utilisé si le FICHIER HIST la variable est
pas défini ou si le fichier qu'il nomme n'est pas accessible en écriture. Un shell peut accéder aux commandes de tous
Interactif shells qui utilisent le même nom FICHIER HIST. La commande intégrée hist est utilisé
pour lister ou modifier une partie de ce fichier. La partie du fichier à éditer ou à lister
peut être sélectionné par numéro ou en donnant le ou les premiers caractères de la commande.
Une seule commande ou plage de commandes peut être spécifiée. Si vous ne spécifiez pas d'éditeur
programme comme argument pour hist alors la valeur de la variable HISTEDIT est utilisé. Si
HISTEDIT n'est pas définie, la variable obsolète FCEDIT est utilisé. Si FCEDIT n'est pas défini, alors
/usr/bin/ex est utilisé. La ou les commandes éditées sont imprimées et réexécutées en quittant le
éditeur à moins que vous ne quittiez sans écrire. Les -s option (et dans les versions obsolètes, le
nom de l'éditeur -) permet de sauter la phase d'édition et de réexécuter la commande. Dans ce
case un paramètre de substitution de la forme et les sites anciens=nouvelle peut être utilisé pour modifier la commande avant
exécution. Par exemple, avec l'alias prédéfini r, qui est alias hist -s′, en tapant `r
mauvais = bon c' réexécutera la commande la plus récente commençant par la lettre c,
remplacer la première occurrence de la chaîne mauvais avec la ficelle Bien.
En ligne Le Montage Options.
Normalement, chaque ligne de commande entrée à partir d'un terminal est simplement tapée suivie d'un
nouvelle ligne ('RETOUR' ou 'SAUT DE LIGNE'). Si soit le emacs, gmacs, ou vi l'option est active,
l'utilisateur peut éditer la ligne de commande. Être dans l'un de ces modes d'édition set le
option correspondante. Une option d'édition est automatiquement sélectionnée à chaque fois que le VISUEL or
EDITEUR variable reçoit une valeur se terminant par l'un de ces noms d'option.
Les fonctions d'édition nécessitent que le terminal de l'utilisateur accepte 'RETOUR' comme retour chariot
sans saut de ligne et qu'un espace (` ') doit écraser le caractère courant sur le
avec l'écran du tableau des commandes prêtes.
Sauf si multiligne est activée, les modes d'édition implémentent un concept où l'utilisateur est
en regardant à travers une fenêtre la ligne courante. La largeur de la fenêtre est la valeur de COLONNES if
il est défini, sinon 80. Si la largeur de la fenêtre est trop petite pour afficher l'invite et
laissez au moins 8 colonnes pour saisir l'entrée, l'invite est tronquée à partir de la gauche. Si la
la ligne est plus longue que la largeur de la fenêtre moins deux, une marque s'affiche à la fin de la
fenêtre pour avertir l'utilisateur. Lorsque le curseur se déplace et atteint les limites de la fenêtre, le
fenêtre sera centrée sur le curseur. La marque est un > (<, *) si la ligne s'étend sur
le(s) côté(s) droit (gauche, les deux) de la fenêtre.
Les commandes de recherche de chaque mode d'édition permettent d'accéder au fichier historique. Uniquement des chaînes
correspondent, pas des modèles, bien qu'un ^ dans la chaîne restreint la correspondance pour commencer
au premier caractère de la ligne.
Chacun des modes d'édition a une opération pour lister les fichiers ou les commandes qui correspondent à un
mot partiellement saisi. Lorsqu'il est appliqué au premier mot de la ligne, ou au premier mot
après l'entraînement ;, ⎪, &, ou (, et le mot ne commence pas par ~ ou contenir un /, la liste de
alias, fonctions et commandes exécutables définis par le PATH variable qui pourrait correspondre
le mot partiel est affiché. Sinon, la liste des fichiers qui correspondent au mot donné est
affiché. Si le mot partiellement saisi ne contient aucun caractère d'extension de fichier,
a * est ajouté avant de générer ces listes. Après avoir affiché la liste générée, le
la ligne d'entrée est redessinée. Ces opérations sont appelées liste de noms de commande et nom de fichier
liste, respectivement. Il existe des opérations supplémentaires, appelées nom de commande
la complétion et la complétion du nom de fichier, qui calculent la liste des commandes ou des fichiers correspondants,
mais au lieu d'imprimer la liste, remplacez le mot courant par un mot complet ou partiel
rencontre. Pour compléter le nom de fichier, si la correspondance est unique, un / est ajouté si le fichier est un
répertoire et un espace est ajouté si le fichier n'est pas un répertoire. Sinon, le plus long
le préfixe commun à tous les fichiers correspondants remplace le mot. Pour compléter le nom de la commande,
seulement la partie des noms de fichiers après le dernier / sont utilisés pour trouver la commande la plus longue
préfixe. Si un seul nom correspond à ce préfixe, le mot est remplacé par le
nom de la commande suivi d'un espace. Lors de l'utilisation d'un languette pour l'achèvement qui ne donne pas un
correspondance unique, une languette fournira une liste numérotée d'alternatives correspondantes. UNE
une sélection spécifique peut être effectuée en entrant le numéro de sélection suivi d'un languette.
ACTIVITES Reliures.
Le manuel de formation CLAVIER trap peut être utilisé pour intercepter les clés au fur et à mesure qu'elles sont saisies et modifier les caractères
qui sont réellement vus par la coquille. Ce piège est exécuté après chaque caractère (ou
séquence de caractères lorsque le premier caractère est ESC) est saisi lors de la lecture à partir d'un
Terminal. La variable .sh.edchar contient le caractère ou la séquence de caractères qui
généré le piège. Modification de la valeur de .sh.edchar dans l'action du piège provoque la coquille
se comporter comme si la nouvelle valeur était entrée au clavier plutôt que l'originale
valeur.
La variable .sh.edcol est défini sur le numéro de colonne d'entrée du curseur au moment de la
saisir. La variable .sh.edmode est réglé sur ESC en vi mode d'insertion (voir ci-dessous) et est
nul sinon. En faisant précéder ${.sh.editmode} à une valeur attribuée à .sh.edchar il sera
faire passer le shell en mode contrôle s'il n'est pas déjà dans ce mode.
Cette interruption n'est pas invoquée pour les caractères saisis en tant qu'arguments des directives d'édition, ou
lors de la lecture de l'entrée pour une recherche de caractère.
Emacs Le Montage Mode.
Ce mode est entré en activant soit le emacs or gmacs option. La seule différence
entre ces deux modes est la façon dont ils gèrent ^T. Pour éditer, l'utilisateur déplace le curseur sur
le point à corriger, puis insère ou supprime des caractères ou des mots selon les besoins.
Toutes les commandes d'édition sont des caractères de contrôle ou des séquences d'échappement. La notation pour
caractères de contrôle est caret (^) suivi du caractère. Par exemple, ^F est le
notation pour le contrôle F. Ceci est entré en appuyant sur 'f' tout en maintenant enfoncée la touche 'CTRL'
(clé de contrôle. La touche 'SHIFT' est pas déprimé. (la mention ^? indique la DEL
(supprimer).)
La notation des séquences d'échappement est M- suivi d'un caractère. Par exemple, Mf
(prononcé Meta f) est entré en appuyant sur ESC (ascii 033) suivi de "f". (L-V pourra
être la notation pour ESC suivi de « SHIFT » (majuscule) « F ».)
Toutes les commandes d'édition fonctionnent à partir de n'importe quel endroit sur la ligne (pas seulement au début). Ni
la touche 'RETURN' ni la touche 'LINE FEED' sont entrées après les commandes d'édition, sauf indication contraire.
^F Déplace le curseur vers l'avant (droite) d'un caractère.
M-[C Déplace le curseur vers l'avant (droite) d'un caractère.
Mf Avance le curseur d'un mot. (Les emacs l'idée que l'éditeur se fait d'un mot est une chaîne de
caractères composés uniquement de lettres, de chiffres et de traits de soulignement.)
^B Déplace le curseur vers l'arrière (gauche) d'un caractère.
MARYLAND Déplace le curseur vers l'arrière (gauche) d'un caractère.
Mo Déplace le curseur d'un mot vers l'arrière.
^A Déplacer le curseur au début de la ligne.
M-[H Déplacer le curseur au début de la ligne.
^E Déplacer le curseur à la fin de la ligne.
MA Déplacer le curseur à la fin de la ligne.
^]carboniser Déplacer le curseur vers le caractère carboniser sur la ligne en cours.
M-^]carboniser Déplacer le curseur vers le caractère carboniser sur la ligne en cours.
^X^X Échangez le curseur et la marque.
effacer (Caractère d'effacement défini par l'utilisateur tel que défini par le Sty(1) commande, généralement ^H or
#.) Supprimer le caractère précédent.
suivant (Le caractère suivant littéral défini par l'utilisateur est défini par le Sty(1) commande, ou ^V if
non défini.) Supprime les fonctions d'édition du caractère suivant (le cas échéant).
^D Supprimer le caractère actuel.
Maryland Supprimer le mot actuel.
M-^H (Meta-backspace) Supprimer le mot précédent.
Mh Supprimer le mot précédent.
M-^ ? (Meta-DEL) Supprimer le mot précédent (si votre caractère d'interruption est ^? (DEL, le
par défaut) alors cette commande ne fonctionnera pas).
^T Transposer le caractère actuel avec le caractère précédent et avancer le curseur dans
emacs mode. Transposer deux caractères précédents dans gmacs .
^C Mettre le caractère actuel en majuscule.
Mc Mettre le mot courant en majuscule.
ml Changez le mot actuel en minuscule.
^K Supprimer du curseur jusqu'à la fin de la ligne. Si précédé d'un chiffre
paramètre dont la valeur est inférieure à la position actuelle du curseur, puis supprimer de
position donnée jusqu'au curseur. S'il est précédé d'un paramètre numérique dont
valeur est supérieure à la position actuelle du curseur, puis supprimer du curseur jusqu'à
position donnée du curseur.
^W Tuez du curseur à la marque.
député Poussez la région du curseur à la marque sur la pile.
tuer (caractère kill défini par l'utilisateur tel que défini par la commande stty, généralement ^G or @.)
Tuez toute la ligne actuelle. Si deux tuer les caractères sont saisis successivement,
tous les caractères tuent à partir de ce moment-là provoquent un saut de ligne (utile lors de l'utilisation de papier
bornes).
^Y Restaurer le dernier élément supprimé de la ligne. (Retirez l'élément à la ligne.)
^L Saut de ligne et impression de la ligne actuelle.
M-^L Effacer l'écran.
^@ (Caractère nul) Définir la marque.
M-espace (Meta espace) Définir la marque.
^J (Nouvelle ligne) Exécute la ligne courante.
^M (Retour) Exécute la ligne courante.
eof Caractère de fin de fichier, normalement ^D, est traité comme une fin de fichier uniquement si le
la ligne courante est nulle.
^P Récupérer la commande précédente. Chaque fois ^P est entré la commande précédente dans
le temps est accédé. Recule d'une ligne lorsqu'il n'est pas sur la première ligne d'un multi-
commande de ligne.
M-[A Si le curseur est en fin de ligne, cela équivaut à ^R avec un magnifique set
au contenu de la ligne courante. Sinon, c'est équivalent à ^P.
M- Récupérez la ligne d'historique la moins récente (la plus ancienne).
M-> Récupérez la ligne d'historique la plus récente (la plus jeune).
^N Récupérer la ligne de commande suivante. Chaque fois ^N est entré la ligne de commande suivante en avant
dans le temps est accessible.
M-[B Équivalent à ^N.
^Run magnifique Historique de recherche inversé pour une ligne de commande précédente contenant un magnifique. Si un
paramètre de zéro est donné, la recherche est en avant. Chaîne se termine par un
« RETOUR » ou « NOUVELLE LIGNE ». Si la chaîne est précédée d'un ^, la ligne appariée doit
commencer avec un magnifique. Si un magnifique est omis, alors la ligne de commande suivante contenant
la plus récente un magnifique est accessible. Dans ce cas un paramètre de zéro inverse
le sens de la recherche.
^O Operate - Exécute la ligne actuelle et récupère la ligne suivante par rapport à la ligne actuelle
ligne du fichier historique.
M-chiffres (Escape) Définit le paramètre numérique, les chiffres sont pris en paramètre pour le
commande suivante. Les commandes qui acceptent un paramètre sont ^F, ^B, effacer, ^C, ^D,
^K, ^R, ^P, ^N, ^], M-., M-^], M-_, M-=, Mo, Mc, Maryland, Mf, Mh, ml et M-^H.
M-lettre Touche programmable - Votre liste d'alias est recherchée pour un alias par le nom _lettre et si
un alias de ce nom est défini, sa valeur sera insérée dans la file d'entrée.
Le manuel de formation lettre ne doit pas être l'une des méta-fonctions ci-dessus.
M-[lettre Touche programmable - Votre liste d'alias est recherchée pour un alias par le nom __lettre et si
un alias de ce nom est défini, sa valeur sera insérée dans la file d'entrée.
Cela peut être utilisé pour programmer des touches de fonction sur de nombreux terminaux.
M-. Le dernier mot de la commande précédente est inséré sur la ligne. S'il est précédé d'un
paramètre numérique, la valeur de ce paramètre détermine quel mot insérer
plutôt que le dernier mot.
M-_ Pareil que M-..
M-* Tentative de génération de nom de fichier sur le mot courant. Un astérisque est ajouté si
le mot ne correspond à aucun fichier ou ne contient aucun caractère de modèle spécial.
M-ESC Complétion de la commande ou du nom de fichier comme décrit ci-dessus.
^I languette Tente de compléter la commande ou le nom de fichier comme décrit ci-dessus. Si une partie
l'achèvement se produit, répéter cela se comportera comme si M-= ont été saisies. Sinon
la correspondance est trouvée ou entrée après espace, un languette est inséré.
M-= S'il n'est pas précédé d'un paramètre numérique, il génère la liste des correspondances
commandes ou noms de fichiers comme décrit ci-dessus. Sinon, le mot sous le curseur
est remplacé par la rubrique correspondant à la valeur du paramètre numérique de
la commande ou la liste de fichiers la plus récente. Si le curseur n'est pas sur un
mot, il est inséré à la place.
^U Multipliez le paramètre de la commande suivante par 4.
\ Échappez au personnage suivant. Modification des caractères, effacement, mise à mort et interruption de l'utilisateur
(normalement ^?) les caractères peuvent être saisis dans une ligne de commande ou dans une chaîne de recherche
s'il est précédé d'un \L’ \ supprime les fonctions d'édition du personnage suivant (si
tout).
M-^V Afficher la version du shell.
M-# Si la ligne ne commence pas par un #, un # est inséré au début de la
ligne et après chaque nouvelle ligne, et la ligne est entrée. Cela provoque un commentaire à
être inséré dans le fichier historique. Si la ligne commence par un #, un # est supprimé
et un expert # après chaque nouvelle ligne est également supprimé.
Vi Le Montage Mode.
Il existe deux modes de saisie. Initialement, lorsque vous entrez une commande, vous êtes dans le contribution
mode. Pour éditer, l'utilisateur saisit des bactéries mode en tapant ESC (033) et déplace le curseur sur
le point à corriger, puis insère ou supprime des caractères ou des mots selon les besoins.
La plupart des commandes de contrôle acceptent une répétition facultative compter avant la commande.
Quand à vi mode sur la plupart des systèmes, le traitement canonique est initialement activé et la commande
sera à nouveau renvoyé si la vitesse est de 1200 bauds ou plus et qu'il contient un contrôle
caractères ou moins d'une seconde s'est écoulée depuis l'impression de l'invite. Le CES
caractère termine le traitement canonique pour le reste de la commande et l'utilisateur
peut alors modifier la ligne de commande. Ce schéma présente les avantages du traitement canonique
avec l'écho de saisie anticipée du mode brut.
Si l'option viraw est également défini, le terminal aura toujours un traitement canonique
désactivée. Ce mode est implicite pour les systèmes qui ne prennent pas en charge deux fins de ligne alternées
délimiteurs, et peut être utile pour certains terminaux.
Entrée Modifier Commandes
Par défaut, l'éditeur est en mode saisie.
effacer (Caractère d'effacement défini par l'utilisateur tel que défini par la commande stty, généralement ^H
or #.) Supprimer le caractère précédent.
^W Supprimez le mot séparé vide précédent. Sur certains systèmes, le viraw
option peut être nécessaire pour que cela fonctionne.
eof Comme le premier caractère de la ligne provoque la fin du shell à moins que
le ignorer l'option est définie. Sinon, ce caractère est ignoré.
suivant (Le caractère suivant littéral défini par l'utilisateur est défini par le Sty(1) ou ^V if
non défini.) Supprime les fonctions d'édition du caractère suivant (le cas échéant).
Sur certains systèmes, le viraw option peut être nécessaire pour que cela fonctionne.
\ Échapper au prochain effacer or tuer caractère.
^I languette Tente de compléter la commande ou le nom de fichier comme décrit ci-dessus et renvoie
au mode de saisie. Si un achèvement partiel se produit, le répéter
se comporter comme si = ont été entrés à partir du mode de contrôle. Si aucune correspondance n'est trouvée ou
entré après espace, un languette est inséré.
Mouvement Modifier Commandes
Ces commandes déplaceront le curseur.
[compter]l Curseur vers l'avant (droit) d'un caractère.
[compter][C Curseur vers l'avant (droit) d'un caractère.
[compter]w Le curseur avance d'un mot alphanumérique.
[compter]W Curseur au début du mot suivant qui suit un blanc.
[compter]e Curseur à la fin du mot.
[compter]E Curseur à la fin du mot délimité par un blanc courant.
[compter]h Curseur vers l'arrière (gauche) d'un caractère.
[compter][D Curseur vers l'arrière (gauche) d'un caractère.
[compter]b Curseur vers l'arrière d'un mot.
[compter]B Curseur vers le mot séparé par un blanc précédent.
[compter]⎪ Curseur vers la colonne compter.
[compter]fc Trouver le prochain personnage c dans la ligne courante.
[compter]Fc Trouver le caractère précédent c dans la ligne courante.
[compter]tc Équivalent à f suivie par h.
[compter]Tc Équivalent à F suivie par l.
[compter]; Répétitions compter fois, la dernière commande de recherche de caractère unique, f, F, t, ou
T.
[compter], Inverse la dernière commande de recherche de caractère unique compter fois.
0 Curseur au début de la ligne.
^ Curseur au début de la ligne.
[H Curseur vers le premier caractère non vide de la ligne.
$ Curseur jusqu'à la fin de la ligne.
[Y Curseur jusqu'à la fin de la ligne.
% Passe à l'équilibrage (, ), {, }, [, ou ]. Si le curseur n'est pas sur l'un des
au-dessus des caractères, le reste de la ligne est recherché pour le premier
l'apparition de l'un des caractères ci-dessus en premier.
Rechercher Modifier Commandes
Ces commandes accèdent à votre historique de commandes.
[compter]k Récupérer la commande précédente. Chaque fois k est entré la commande précédente en arrière
dans le temps est accessible.
[compter]- Équivalent à k.
[compter][A Si le curseur est à la fin de la ligne, cela équivaut à / avec chaîne^set
à le contenu of le actuel ligne. Sinon, c'est équivalent à k.
[compter]j Récupérer la commande suivante. Chaque fois j est entré la prochaine commande vers l'avant dans
le temps est accédé.
[compter]+ Équivalent à j.
[compter][B Équivalent à j.
[compter]G Le numéro de commande compter est récupéré. La valeur par défaut est la moins récente
commande d'historique.
/un magnifique Recherche en arrière dans l'historique pour une commande précédente contenant un magnifique.
Chaîne se termine par un 'RETURN' ou 'NEW LINE'. Si la chaîne est précédée
par une ^, la ligne correspondante doit commencer par un magnifique. Si un magnifique est nul, le
la chaîne précédente sera utilisée.
?un magnifique Pareil que / sauf que la recherche se fera vers l'avant.
n Recherche de la prochaine correspondance du dernier motif à / or ? les commandes.
N Recherche de la prochaine correspondance du dernier motif à / or ?, mais à l'envers
direction.
Texte Modification Modifier Commandes
Ces commandes modifieront la ligne.
a Entrez en mode de saisie et entrez le texte après le caractère actuel.
A Ajoutez du texte à la fin de la ligne. Équivalent à $a.
[compter]cmouvement
c[compter]mouvement
Supprimer le caractère actuel par le caractère qui mouvement déplacerait le
curseur sur et entrez en mode de saisie. Si mouvement is c, toute la ligne sera
supprimé et le mode de saisie entré.
C Supprimez le caractère actuel jusqu'à la fin de la ligne et entrez l'entrée
mode. Équivalent à c$.
S Équivalent à cc.
[compter]s Remplace les caractères sous le curseur en mode de saisie.
D Supprime le caractère courant jusqu'à la fin de la ligne. Équivalent à d$.
[compter]dmouvement
d[compter]mouvement
Supprimer le caractère actuel par le caractère qui mouvement se déplacerait vers.
If mouvement is d , toute la ligne sera supprimée.
i Entrez en mode de saisie et insérez du texte avant le caractère actuel.
I Insérez du texte avant le début de la ligne. Équivalent à 0i.
[compter]P Placez la modification de texte précédente avant le curseur.
[compter]p Placez la modification de texte précédente après le curseur.
R Entrez en mode de saisie et remplacez les caractères à l'écran par les caractères que vous
tapez la mode de superposition.
[compter]rc Remplacez le compter caractère(s) commençant à la position actuelle du curseur
avec c, et avancez le curseur.
[compter]x Supprimer le caractère actuel.
[compter]X Supprimer le caractère précédent.
[compter]. Répétez la commande de modification de texte précédente.
[compter]~ Inverser le cas du compter caractère(s) commençant au curseur actuel
positionner et faire avancer le curseur.
[compter]_ Provoque le compter mot de la commande précédente à ajouter et à saisir
mode entré. Le dernier mot est utilisé si compter est omis.
* Provoque un * à ajouter au mot actuel et à la génération de nom de fichier
tenté. Si aucune correspondance n'est trouvée, la cloche sonne. Sinon, le mot
est remplacé par le motif correspondant et le mode de saisie est activé.
\ Complétion de la commande ou du nom de fichier comme décrit ci-dessus.
Autres Modifier Commandes
Commandes diverses.
[compter]ymouvement
y[compter]mouvement
Tirez sur le caractère actuel via le caractère qui mouvement déplacerait le
curseur sur et les place dans le tampon de suppression. Le texte et le curseur sont
inchangé.
yy Tire toute la ligne.
Y Tire de la position actuelle à la fin de la ligne. Équivalent à y$.
u Annulez la dernière commande de modification de texte.
U Annulez toutes les commandes de modification de texte effectuées sur la ligne.
[compter]v Retourne la commande hist -e ${VISUEL :-${EDITEUR :-vi}} compter dans l'entrée
amortir. Si compter est omis, alors la ligne actuelle est utilisée.
^L Saut de ligne et impression de la ligne actuelle. N'a d'effet qu'en mode contrôle.
^J (Nouvelle ligne) Exécute la ligne courante, quel que soit le mode.
^M (Retour) Exécute la ligne courante, quel que soit le mode.
# Si le premier caractère de la commande est un #, alors cette commande supprime
ceci. # et chacun # qui suit une nouvelle ligne. Sinon, envoie la ligne
après avoir inséré un # devant chaque ligne de la commande. Utile pour
provoquant l'insertion de la ligne courante dans l'historique en tant que commentaire et
décommenter les commandes précédemment commentées dans le fichier historique.
[compter]= If compter n'est pas spécifié, il génère la liste des commandes correspondantes ou
noms de fichiers comme décrit ci-dessus. Sinon, le mot sous le curseur
est remplacé par le compter élément de la dernière commande générée ou
liste de fichiers. Si le curseur n'est pas sur un mot, il est inséré à la place.
@lettre Votre liste d'alias est recherchée pour un alias par le nom _lettre et si un
l'alias de ce nom est défini, sa valeur sera insérée sur l'entrée
file d'attente pour le traitement.
^V Afficher la version du shell.
Encastré Commandes.
Les commandes simples suivantes sont exécutées dans le processus shell. Redirection entrée/sortie
est autorisé. Sauf indication contraire, la sortie est écrite sur le descripteur de fichier 1 et
l'état de sortie, lorsqu'il n'y a pas d'erreur de syntaxe, est zéro. À l'exception de :, oui, non, echo,
nouveaugrpet vous connecter, toutes les commandes intégrées acceptent -- pour indiquer la fin des options. Ils aussi
interpréter l'option --homme comme une demande d'affichage de la page de manuel sur l'erreur standard et -?
comme une demande d'aide qui imprime un usage message sur erreur standard. Les commandes qui sont
précédés d'un ou deux symboles † sont des commandes intégrées spéciales et sont traités spécialement
des manières suivantes:
1. Les listes d'affectation de variables précédant la commande restent en vigueur lorsque la commande
complète.
2. Les redirections d'E/S sont traitées après les affectations de variables.
3. Les erreurs provoquent l'abandon d'un script qui les contient.
4. Ce ne sont pas des noms de fonction valides.
5. Mots suivant une commande précédés de †† qui sont au format d'une variable
l'affectation sont étendues avec les mêmes règles qu'une affectation de variable. Ça signifie
que la substitution de tilde est effectuée après le = fractionnement des signes et des champs et fichier
la génération de nom n'est pas effectuée. Ceux-ci sont appelés déclaration intégrés.
† : [ arg ...]
La commande développe uniquement les paramètres.
† . prénom [ arg ... ]
If prénom est une fonction définie avec le fonction prénom syntaxe des mots réservés, le
fonction est exécutée dans l'environnement courant (comme si elle avait été définie avec le
prénom() syntaxe.) Sinon si prénom fait référence à un fichier, le fichier est lu dans son
l'intégralité et les commandes sont exécutées dans l'environnement shell actuel. Les
chemin de recherche spécifié par PATH est utilisé pour trouver le répertoire contenant le fichier.
Si des arguments arg sont donnés, ils deviennent les paramètres de position tandis que
le traitement du . commande et les paramètres de position d'origine sont restaurés sur
achèvement. Sinon, les paramètres de position restent inchangés. Le statut de sortie est
l'état de sortie de la dernière commande exécutée.
† † alias [ -ptx ] [ prénom[ =Plus-value ] ] ...
alias sans arguments imprime la liste des alias sous la forme nom=valeur on
sortie standard. Les -p option provoque le mot alias à insérer avant chaque
une. Lorsqu'un ou plusieurs arguments sont donnés, un alias est défini pour chaque prénom dont
Plus-value est donné. Un espace de fuite dans Plus-value provoque la recherche du mot suivant
substitution d'alias. L'obsolète -t l'option est utilisée pour définir et lister le suivi
alias. La valeur d'un alias suivi est le chemin complet correspondant au
donné prénom. La valeur devient indéfinie lorsque la valeur de PATH est réinitialisé mais le
alias reste suivi. Sans le -t option, pour chaque prénom dans la liste des arguments
pour lequel non Plus-value est donné, le nom et la valeur de l'alias sont affichés. Les
obsolète -x l'option n'a aucun effet. Le statut de sortie est différent de zéro si un prénom est donné,
mais aucune valeur, et aucun alias n'a été défini pour le prénom.
bg [ JOB...]
Cette commande est uniquement sur les systèmes qui prennent en charge le contrôle des travaux. Met chaque spécifié JOB
dans l'arrière-plan. Le travail en cours est mis en arrière-plan si JOB n'est pas
spécifié. Voir Emplois pour une description du format de JOB.
† pause [ n ]
Sortie de l'enclos pour, tout en, jusqu'au, ou Sélectionner boucle, le cas échéant. Si n is
spécifié, puis casser n les niveaux.
builtin [ -ds ] [ -f filet ] [ prénom ...]
If prénom n'est pas spécifié, et non -f l'option est spécifiée, les éléments intégrés sont imprimés
sur sortie standard. Les -s L'option n'imprime que les fonctions intégrées spéciales. Autrement,
chacun prénom représente le chemin d'accès dont le nom de base est le nom de l'élément intégré. Les
le nom de la fonction du point d'entrée est déterminé en ajoutant b_ au nom intégré. UNE
prédéfini spécifié par un chemin d'accès ne sera exécuté que lorsque ce chemin d'accès serait
trouvé lors de la recherche de chemin. Les éléments intégrés trouvés dans les bibliothèques chargées via le .chemins
sera associé au chemin d'accès du répertoire contenant le .chemins
fichier.
Le prototype ISO C/C++ est b_ma commande(entier argc, carboniser *argv[], annuler *aux contextes) pour
commande intégrée ma commande où argv est un tableau de argc éléments et le contexte est un
pointeur facultatif vers un Coquille_t structure telle que décrite dans .
Les fonctions intégrées spéciales ne peuvent pas être liées à un chemin d'accès ou supprimées. Les -d l'option supprime chacun des
les éléments intégrés donnés. Sur les systèmes qui prennent en charge le chargement dynamique, le -f l'option nomme un
bibliothèque partagée contenant le code pour les éléments intégrés. Le préfixe de la bibliothèque partagée et/ou
suffixe, qui dépend du système, peut être omis. Une fois qu'une bibliothèque est chargée, ses symboles
deviennent disponibles pour les appels ultérieurs de builtin. Plusieurs bibliothèques peuvent être
spécifié avec des appels séparés du builtin commander. Les bibliothèques sont recherchées dans le
ordre inverse dans lequel ils sont spécifiés. Lorsqu'une bibliothèque est chargée, elle recherche un
fonction dans la bibliothèque dont le nom est lib_init() et invoque cette fonction avec un
argument de la 0.
cd [ -PL ] [ arg ]
cd [ -PL ] et les sites anciens nouvelle
Cette commande peut être sous l'une des deux formes. Dans la première forme, il modifie le
répertoire courant vers arg. Si arg is - le répertoire est passé au précédent
annuaire. La variable shell ACCUEIL est la valeur par défaut arg. La variable PWD est fixé à
le répertoire courant. La variable shell CDPATH définit le chemin de recherche du
répertoire contenant arg. Les noms de répertoire alternatifs sont séparés par deux points
(:). Le chemin par défaut est (en précisant le répertoire courant). Notez que le
le répertoire courant est spécifié par un nom de chemin nul, qui peut apparaître immédiatement
après le signe égal ou entre les deux points délimiteurs n'importe où ailleurs dans le chemin
liste. Si arg commence par un / alors le chemin de recherche n'est pas utilisé. Sinon, chaque
le répertoire dans le chemin est recherché arg.
La deuxième forme de cd remplace la chaîne nouvelle pour la corde et les sites anciens dans l'actuel
nom du répertoire, PWD, et essaie de passer à ce nouveau répertoire.
Par défaut, les noms de liens symboliques sont traités littéralement lors de la recherche du répertoire
Nom. Ceci équivaut à la -L option. La -P l'option provoque des liens symboliques vers
être résolu lors de la détermination du répertoire. La dernière instance de -L or -P sur le
la ligne de commande détermine quelle méthode est utilisée.
Le manuel de formation cd la commande ne peut pas être exécutée par rksh. rksh93.
commander [ -pvxV ] prénom [ arg ...]
Sans le -v or -V options, commander exécute prénom avec les arguments donnés par
argL’ -p L'option provoque la recherche d'un chemin par défaut plutôt que celui
défini par la valeur de PATH. Les fonctions ne seront pas recherchées lors de la recherche
prénom. De plus, si prénom fait référence à un intégré spécial, aucun des
les propriétés associées aux dagues de tête seront honorées. (Par exemple, le
alias prédéfini redirect=′commande exe′ empêche un script de se terminer lorsqu'un
une redirection invalide est donnée.) Avec le -x option, si l'exécution de la commande
aboutir à un échec car il y a trop d'arguments, errno E2BIG, La coquille
invoquera la commande prénom plusieurs fois avec un sous-ensemble des arguments sur chaque
invocation. Arguments qui se produisent avant le premier mot qui se développe en plusieurs
arguments et après le dernier mot qui se développe en plusieurs arguments sera passé
à chaque invocation. L'état de sortie sera l'état de sortie d'appel maximal.
Avec la collection -v option, commander est équivalent à l'intégré D'où commande décrite
au dessous de. le -V l'option provoque commander agir comme D'où -v.
† continuer [ n ]
Reprendre la prochaine itération de la clôture pour, tout en, jusqu'au, ou Sélectionner boucle. Si n
est spécifié, puis reprenez à la n-ème boucle englobante.
renier [ JOB...]
Le shell n'envoie pas de signal HUP à chaque donnée JOB, ou tous les travaux actifs si
JOB est omis lorsqu'un shell de connexion se termine.
echo [ arg ...]
Quand le premier arg ne commence pas par un -, et aucun des arguments ne contient un \,
puis echo affiche chacun de ses arguments séparés par un espace et terminés par un
nouvelle ligne. Sinon, le comportement de echo dépend du système et impression or printf
décrit ci-dessous doit être utilisé. Voir echo(1) pour l'utilisation et la description.
† † enum [ -i ] type[=(Plus-value ...) ]
Crée une commande de déclaration nommée type c'est un type entier qui permet à l'un des
le spécifié Plus-values comme noms d'énumération. Si =(Plus-value ...) est omis, alors type
doit être une variable de tableau indexée avec au moins deux éléments et les valeurs sont
extrait de cette variable de tableau. Si -i est spécifié les valeurs sont la casse
insensible.
† eval [ arg ...]
Les arguments sont lus en entrée du shell et la ou les commandes résultantes sont exécutées.
† exec [ -c ] [ -a prénom ] [ arg ...]
If arg est donné, la commande spécifiée par les arguments est exécutée à la place de
ce shell sans créer de nouveau processus. le -c l'option fait que l'environnement
être effacé avant d'appliquer les affectations de variables associées au exec
invocation. le -a l'option provoque prénom plutôt que le premier arg, devenir arg[0]
pour le nouveau processus. Des arguments d'entrée/sortie peuvent apparaître et affecter le
traiter. Si arg n'est pas donné, cette commande a pour effet de modifier le fichier
descripteurs tels que prescrits par la liste de redirection d'entrée/sortie. Dans ce cas, tout
les numéros de descripteur de fichier supérieurs à 2 qui sont ouverts avec ce mécanisme sont
fermé lors de l'appel d'un autre programme.
† sortie [ n ]
Provoque la sortie du shell avec l'état de sortie spécifié par n. La valeur sera
les 8 bits les moins significatifs de l'état spécifié. Si n est omis, alors le
l'état de sortie est celui de la dernière commande exécutée. Une fin de fichier entraînera également
le shell pour sortir à l'exception d'un shell qui a le ignorer option (voir set ci-dessous)
allumé.
† † Exporter [ -p ] [ prénom[=Plus-value] ] ...
If prénom n'est pas donné, les noms et valeurs de chaque variable avec l'export
attribut sont imprimés avec les valeurs citées d'une manière qui leur permet d'être ré-
saisir. le Exporter la commande est la même que composer -x sauf que si vous utilisez Exporter
au sein d'une fonction, aucune variable locale n'est créée. le -p option provoque le mot
Exporter à insérer avant chacun. Sinon, la donnée prénoms sont marqués pour
exportation automatique vers le convivial des commandes exécutées par la suite.
non Ne fait rien et quitte 1. Utilisé avec jusqu'au pour des boucles infinies.
fg [ JOB...]
Cette commande est uniquement sur les systèmes qui prennent en charge le contrôle des travaux. Chaque JOB spécifié est
mis au premier plan et attendu dans l'ordre spécifié. Sinon, le
l'emploi actuel est mis au premier plan. Voir Emplois pour une description de la
format de JOB.
getconf [ prénom [ chemin d'accès ] ]
Imprime la valeur actuelle du paramètre de configuration donnée par prénomL’
les paramètres de configuration sont définis par IEEE POSIX 1003.1 et IEEE POSIX 1003.2
normes. (Voir cheminconfde Géographie (2) et avec la configuration système(2).) Le chemin d'accès un argument est requis
pour les paramètres dont la valeur dépend de l'emplacement dans le système de fichiers. Sinon
des arguments sont donnés, getconf imprime les noms et les valeurs du courant
paramètres de configuration. Le nom de chemin / est utilisé pour chacun des paramètres qui
a besoin chemin d'accès.
getops [ -a prénom ] chaîne d'options nom_v [ arg ...]
Contrôles arg pour les options légales. Si arg est omis, les paramètres de position sont
utilisé. Un argument d'option commence par un + ou -. Une option ne commençant pas par +
or - ou l'argument -- termine les options. Options commençant par + sont seulement
reconnu quand chaîne d'options commence par un +. chaîne d'options contient les lettres qui
getops reconnaît. Si une lettre est suivie d'un :, cette option devrait
se disputer. Les options peuvent être séparées de l'argument par des blancs. le
option -? les causes getops pour générer un message d'utilisation en cas d'erreur standard. le -a
peut être utilisé pour spécifier le nom à utiliser pour le message d'utilisation, qui
Par défaut $0.
getops place la prochaine lettre d'option qu'il trouve à l'intérieur de la variable nom_v à chaque fois il
est invoqué. La lettre d'option sera précédée d'un + quand arg commence par un +.
L'indice du prochain arg Est stocké dans OPTINDRE. L'argument option, s'il existe, obtient
stocké dans OPTARG.
Un leader : in chaîne d'options les causes getops pour stocker la lettre d'une option invalide dans
OPTARG, et pour définir nom_v à ? pour une option inconnue et pour : lorsqu'un requis
l'argument d'option est manquant. Autrement, getops imprime un message d'erreur. La sortie
le statut est différent de zéro lorsqu'il n'y a plus d'options.
Il n'y a aucun moyen de spécifier l'une des options :, +, -, ?, [et ]. L'option #
ne peut être spécifié que comme première option.
hist [ -e nommer ] [ -nlr ] [ premier [ dernier ] ]
hist -s [ et les sites anciens=nouvelle ] [ commander ]
Dans la première forme, une gamme de commandes de premier à dernier est sélectionné parmi le dernier
TAILLE HIST commandes qui ont été tapées sur le terminal. Les arguments premier et dernier
peut être spécifié sous forme de nombre ou de chaîne. Une chaîne est utilisée pour localiser le plus
commande récente commençant par la chaîne donnée. Un nombre négatif est utilisé comme
décalage au numéro de commande actuel. Si la -l l'option est sélectionnée, les commandes
sont répertoriés sur la sortie standard. Sinon, le programme de l'éditeur nommer est invoqué sur un
fichier contenant ces commandes clavier. Si nommer n'est pas fourni, alors la valeur
de la variable HISTEDIT est utilisé. Si HISTEDIT n'est pas défini, alors FCEDIT (défaut
/usr/bin/ex) est utilisé comme éditeur. Une fois l'édition terminée, le
la ou les commandes sont exécutées si les modifications ont été enregistrées. Si dernier n'est pas spécifié,
alors il sera réglé sur premier. Si premier n'est pas spécifié, la valeur par défaut est le
commande précédente pour l'édition et -16 pour la liste. L'option -r inverse l'ordre
des commandes et de l'option -n supprime les numéros de commande lors de la liste. Dans le
deuxième forme, commander est interprété comme premier décrit ci-dessus et par défaut à la
dernière commande exécutée. La commande résultante est exécutée après l'option
substitution et les sites anciens=nouvelle est effectuée.
emplois [ -lnp ] [ JOB ...]
Répertorie les informations sur chaque travail donné ; ou tous les emplois actifs si JOB est omis. Les
-l L'option répertorie les identifiants de processus en plus des informations normales. le -n option
affiche uniquement les travaux arrêtés ou terminés depuis la dernière notification. le -p option
provoque uniquement la liste du groupe de processus. Voir Emplois pour une description de la
format de JOB.
tuer [ -s nom ] JOB ...
tuer [ -n signe ] JOB ...
tuer -Ll [ sig ...]
Envoie soit le signal TERM (terminer) soit le signal spécifié au
tâches ou processus. Les signaux sont soit donnés par un nombre avec le -n option ou par
nom avec le -s option (comme indiqué dans , dépouillé du préfixe ``SIG''
à l'exception du fait que SIGCLD est nommé CHLD). Pour une compatibilité descendante, le n
et s peut être omis et le numéro ou le nom placé immédiatement après le -. Si l'
le signal envoyé est TERM (terminer) ou HUP (raccrocher), alors le travail ou le processus
recevoir un signal CONT (continuer) s'il est arrêté. L'argument JOB peut être le
ID de processus d'un processus qui n'est pas membre de l'un des travaux actifs. Voir Emplois
pour une description du format de JOB. Dans la troisième forme, tuer -l, ou tuer -L, Si
sig n'est pas spécifié, les noms de signaux sont répertoriés. le -l liste d'options uniquement les
noms de signaux. -L options répertorie chaque nom de signal et le numéro correspondant.
Sinon, pour chaque sig c'est un nom, le numéro de signal correspondant est répertorié.
Pour chaque sig c'est un nombre, le nom du signal correspondant au moins
8 bits significatifs de sig est listé.
laisser arg ...
Chaque arg est un séparé des fonctions arithmétiques de bases expression Pour être évalué. laisser reconnaît seulement
constantes octales commençant par 0 lorsque le set option loctal est sur. Voir Arithmétique
Évaluation ci-dessus, pour une description de l'évaluation de l'expression arithmétique.
L'état de sortie est 0 si la valeur de la dernière expression est différente de zéro, et 1
autrement.
† nouveaugrp [ arg ...]
Équivalent à exec /bin/nouveaugrp arg ....
impression [ -CRenprsv ] [ -u unité] [ -f le format ] [ arg ...]
Sans option ou avec option - or --, Chaque arg est imprimé sur la sortie standard.
Le manuel de formation -f L'option provoque l'impression des arguments comme décrit par printf. Dans ce
cas, tout e, n, r, R les options sont ignorées. Sinon, à moins que le -C, -R, -r, ou -v
sont spécifiés, les conventions d'échappement suivantes seront appliquées :
\a Le caractère d'alerte (ascii 07).
\b Le caractère de retour arrière (ascii 010).
\c Causes impression pour terminer sans traiter plus d'arguments et sans ajouter de nouveau-
ligne.
\f Le caractère de saut de page (ascii 014).
\n Le caractère de nouvelle ligne (ascii 012).
\r Le caractère retour chariot (ascii 015).
\t Le caractère de tabulation (ascii 011).
\v Le caractère de tabulation verticale (ascii 013).
\E Le caractère d'échappement (ascii 033).
\\ La barre oblique inverse \.
\0x Le caractère défini par la chaîne octale à 1, 2 ou 3 chiffres donnée par x.
Le manuel de formation -R option imprimera tous les arguments et options suivants autres que -nL’
-e provoque l'application des conventions d'échappement ci-dessus. C'est la valeur par défaut
comportement. Il inverse l'effet d'un précédent -rL’ -p l'option provoque le
arguments à écrire sur le tube du processus engendré avec & au lieu de
sortie standard. Les -v l'option traite chacun arg comme nom de variable et écrit le
valeur dans le printf %B format. le -C l'option traite chacun arg comme nom de variable
et écrit la valeur dans le printf %#B format. le -s l'option provoque les arguments
à écrire sur le fichier historique au lieu de la sortie standard. le -u l'option peut
être utilisé pour spécifier un numéro d'unité de descripteur de fichier à un chiffre unité sur laquelle la sortie
sera placé. La valeur par défaut est 1. Si l'option -n est utilisé, non nouvelle ligne est ajouté
à la sortie.
printf le format [ arg ...]
Les arguments arg sont imprimés sur une sortie standard conformément à la norme ANSI-C
règles de formatage associées à la chaîne de formatage le format. Si le nombre de
arguments dépasse le nombre de spécifications de format, le le format la chaîne est réutilisée
pour formater les arguments restants. Les extensions suivantes peuvent également être utilisées :
%b A %b format peut être utilisé à la place de %s provoquer des séquences d'échappement dans le
correspondant arg à étendre comme décrit dans imprimer.
%B A %B L'option fait que chacun des arguments est traité comme des noms de variables et
la valeur binaire de la variable sera imprimée. Le drapeau alternatif # provoque un
variable composée à afficher sur une seule ligne. Ceci est le plus utile pour
les variables composées et les variables dont l'attribut est -b.
%H A %H format peut être utilisé à la place de %s provoquer des personnages dans arg Voilà
spécial en HTML et XML à afficher comme nom d'entité. Le suppléant
drapeau # formate la sortie pour une utilisation en tant qu'URI.
%P A %P format peut être utilisé à la place de %s provoquer arg être interprété comme un
expression régulière étendue et être imprimé comme un modèle de shell.
%R A %R format peut être utilisé à la place de %s provoquer arg être interprété comme un
shell et à imprimer en tant qu'expression régulière étendue.
%q A %q format peut être utilisé à la place de %s pour que la chaîne résultante soit
cité d'une manière qui peut être réintroduite dans le shell. Lorsque q est précédé de
le spécificateur de format alternatif, #, la chaîne est citée de manière appropriée
comme un champ dans un . Csv fichier de format.
%(format de date)T
A %(format de date)T le format peut être utilisé pour traiter un argument comme une date/heure
chaîne et de formater la date/heure selon la format de date comme défini
pour données(1) commande.
%Z A %Z format produira un octet dont la valeur est 0.
%d Le champ de précision du %d format peut être suivi d'un . et le câble à fibre optique de sortie sont inclus.
base. Dans ce cas, le # signaler les causes du caractère base# être préfixé.
# Le manuel de formation # drapeau, lorsqu'il est utilisé avec le %d format sans base de sortie, affiche
la sortie en puissances de 1000 indiquée par l'un des suffixes suivants : k M
G T P E, et lorsqu'il est utilisé avec le %i format affiche la sortie en puissances de
1024 indiqué par l'un des suffixes suivants : Ki Mi Gi Ti Pi Ei.
= Le manuel de formation = flag centre la sortie dans la largeur de champ spécifiée.
L Le manuel de formation L drapeau, lorsqu'il est utilisé avec le %c or %s formats, traite la précision comme
largeur des caractères au lieu du nombre d'octets.
, Le manuel de formation , drapeau, lorsqu'il est utilisé avec le %d or %f formate, sépare les groupes de chiffres
avec le délimiteur de regroupement (, sur des groupes de 3 dans la locale C.)
pwd [ -PL ]
Affiche la valeur du répertoire de travail actuel. le -L l'option est la valeur par défaut ;
il imprime le nom logique du répertoire courant. Si la -P l'option est donnée,
tous les liens symboliques sont résolus à partir du nom. La dernière instance de -L or -P on
la ligne de commande détermine quelle méthode est utilisée.
lire [ -ACSprsv ] [ -d délimiter] [ -n n] [ [ -N n] [ [ -t temps mort] [ -u unité] [ nom_v?prompt
] [ nom_v ...]
Le mécanisme d'entrée du shell. Une ligne est lue et divisée en champs à l'aide de la
caractères dans IFS comme séparateurs. Le personnage d'évasion, \, est utilisé pour supprimer tout
signification spéciale pour le caractère suivant et pour la continuation de la ligne. le -d option
fait que la lecture continue jusqu'au premier caractère de délimiter plutôt qu'une nouvelle ligne.
Le manuel de formation -n l'option provoque au plus n octets pour lire plutôt une ligne complète mais renverra
lors de la lecture à partir d'un appareil lent dès que des caractères ont été lus. le -N
l'option provoque exactement n à lire sauf si une fin de fichier a été rencontrée ou
la lecture expire à cause de la -t option. En mode brut, -r, le \ le personnage est
pas traité spécialement. Le premier champ est affecté au premier nom_v, la deuxième
champ à la seconde nom_v, etc., avec les champs restants affectés au dernier nom_v.
Quand nom_v a l'attribut binaire et -n or -N est spécifié, les octets qui sont
read sont stockés directement dans la variable. Si la -v est spécifié, alors la valeur
de la première nom_v sera utilisé comme valeur par défaut lors de la lecture depuis un terminal
dispositif. le -A l'option provoque la variable nom_v à désactiver et chaque champ qui est
lu pour être stocké dans les éléments successifs du tableau indexé nom_v. Le manuel de formation -C option
provoque la variable nom_v à lire comme une variable composée. Les blancs seront
ignoré lors de la recherche de la parenthèse ouverte de début. L'option -S provoque la ligne
être traité comme un record dans un . Csv format de fichier afin que les guillemets doubles puissent être utilisés
pour permettre au caractère délimiteur et au caractère de nouvelle ligne d'apparaître dans un
champ. le -p L'option fait que la ligne d'entrée est extraite du tube d'entrée d'un
processus généré par le shell en utilisant &. Si l' -s l'option est présente, l'entrée sera
être enregistré en tant que commande dans le fichier historique. L'option -u peut être utilisé pour spécifier un
unité de descripteur de fichier à un chiffre unité à lire. Le descripteur de fichier peut être
ouvert avec le exec commande intégrée spéciale. La valeur par défaut de l'unité n est 0.
L'option -t est utilisé pour spécifier un délai d'attente en secondes lors de la lecture à partir d'un terminal
ou tuyau. Si nom_v est omis, alors RÉPONDRE est utilisé par défaut nom_v. Une fin-
déposer auprès de la -p L'option provoque le nettoyage de ce processus afin qu'un autre puisse être
engendré. Si le premier argument contient un ?, le reste de ce mot est utilisé comme
a prompt sur erreur standard lorsque le shell est interactif. L'état de sortie est 0
à moins qu'une fin de fichier ne soit rencontrée ou lire a expiré.
† † lecture seulement [ -p ] [ nom_v[=Plus-value] ] ...
If nom_v n'est pas donné, les noms et valeurs de chaque variable avec le readonly
attribut est imprimé avec les valeurs citées d'une manière qui leur permet d'être ré-
entré. le -p option provoque le mot lecture seulement à insérer avant chacun.
Sinon, la donnée nom_vs sont marqués en lecture seule et ces noms ne peuvent pas être modifiés
par affectation ultérieure. Lors de la définition d'un type, si la valeur d'un sous-ensemble en lecture seule
variable n'est pas définie, la valeur est requise lors de la création de chaque instance.
† retourner [ n ]
Provoque une coquille fonction or . script pour revenir au script d'appel avec la sortie
statut spécifié par n. La valeur sera les 8 bits les moins significatifs du
statut spécifié. Si n est omis, alors le statut de retour est celui du dernier
commande exécutée. Si retourner est invoqué alors qu'il n'est pas dans un fonction ou . scénario,
alors il se comporte comme sortie.
† set [ ±BCGAbefhkmnoprstuvx ] [ ±o [ option ] ] ... [ ±A nom_v ] [ arg ...]
Les options de cette commande ont la signification suivante :
-A Affectation du tableau. Désactivez la variable nom_v et attribuer des valeurs de manière séquentielle
du arg liste. Si +A est utilisé, la variable nom_v n'est pas désarmé en premier.
-B Activer la génération de champ de motif d'accolade. Ceci est le comportement par défaut.
-B Activer l'expansion du groupe d'accolades. Activé par défaut.
-C Empêche la redirection > de tronquer les fichiers existants. Les fichiers qui sont
créés sont ouverts avec le mode O_EXCL. A besoin >⎪ tronquer un fichier
lorsqu'il est allumé.
-G Provoque le motif ** par lui-même pour faire correspondre les fichiers et zéro ou plusieurs répertoires
et sous-répertoires lorsqu'ils sont utilisés pour la génération de noms de fichiers. S'il est suivi d'un /
seuls les répertoires et sous-répertoires sont mis en correspondance.
-a Toutes les variables suivantes définies sont automatiquement exportées.
-b Imprime des messages de fin de tâche dès qu'une tâche en arrière-plan change d'état
plutôt que d'attendre la prochaine invite.
-e À moins qu'il ne soit contenu dans un ?? or && commande, ou la commande suivant un if
tout en or jusqu'au commande ou dans le pipeline suivant !, si une commande a un
état de sortie différent de zéro, exécutez le ERR piège, s'il est défini, et quittez. Ce mode est
désactivé lors de la lecture des profils.
-f Désactive la génération de nom de fichier.
-h Chaque commande devient un alias suivi lorsqu'elle est rencontrée pour la première fois.
-k (Obsolète). Tous les arguments d'affectation de variable sont placés dans l'environnement
pour une commande, pas seulement ceux qui précèdent le nom de la commande.
-m Les travaux d'arrière-plan s'exécuteront dans un groupe de processus distinct et une ligne s'imprimera
à la fin. L'état de sortie des jobs d'arrière-plan est signalé dans un
message d'achèvement. Sur les systèmes avec contrôle des tâches, cette option est activée
automatiquement pour les shells interactifs.
-n Lisez les commandes et vérifiez qu'il n'y a pas d'erreurs de syntaxe, mais ne les exécutez pas.
Ignoré pour les shells interactifs.
-o L'argument suivant peut être l'un des noms d'option suivants :
toutexporter
Pareil que -a.
erresort Pareil que -e.
merci Toutes les tâches en arrière-plan sont exécutées avec une priorité inférieure. C'est le
mode par défaut.
accolade développer
Pareil que -B.
emacs vous met dans un emacs éditeur en ligne de style pour la saisie de commandes.
étoile mondiale
Pareil que -G.
gmacs vous met dans un gmacs éditeur en ligne de style pour la saisie de commandes.
ignorer
Le shell ne se fermera pas à la fin du fichier. La commande sortie doit être
utilisé.
mot-clé Pareil que -k.
loctal
Le manuel de formation laisser La commande autorise les constantes octales commençant par 0.
marqueurs
Tous les noms de répertoire résultant de la génération de nom de fichier ont un
traînant / ajouté
moniteur Pareil que -m.
multiligne
Les éditeurs intégrés utiliseront plusieurs lignes à l'écran pour
lignes plus longues que la largeur de l'écran. Cela peut ne pas
fonctionnent pour tous les terminaux.
nul
Pareil que -C.
noexec Pareil que -n.
noglob Pareil que -f.
nolog N'enregistrez pas les définitions de fonction dans le fichier historique.
notifier Pareil que -b.
nom Pareil que -u.
panne de canalisation
Un pipeline ne se terminera pas tant que tous les composants du pipeline ne
sont terminés, et la valeur de retour sera la valeur du dernier
une commande différente de zéro échoue ou zéro si aucune commande n'a échoué.
montre-moi Lorsqu'elles sont activées, des commandes simples ou des pipelines précédés d'un point-virgule
(;) s'affichera comme si le x trace option ont été activées mais
pas être exécuté. Sinon, le leader ; Sera ignoré.
privilégié
Pareil que -p.
verbeux Pareil que -v.
tout suivre
Pareil que -h.
vi Vous met en mode insertion d'un vi éditeur de style en ligne jusqu'à ce que vous appuyiez sur
le caractère d'échappement 033. Cela vous met en mode contrôle. Un retour
envoie la ligne.
viraw Chaque caractère est traité au fur et à mesure de sa saisie vi .
x trace Pareil que -x.
Si aucun nom d'option n'est fourni, les paramètres d'option actuels sont
imprimé.
-p Désactive le traitement de la $ HOME / .profile fichier et utilise le fichier
/etc/suid_profile à la place du ENV déposer. Ce mode est activé chaque fois que le
l'uid effectif (gid) n'est pas égal à l'uid réel (gid). Désactiver ceci
fait en sorte que l'uid et le gid effectifs soient définis sur les vrais uid et gid.
-r Active le shell restreint. Cette option ne peut pas être désactivée une fois définie.
-s Triez les paramètres de position lexicographiquement.
-t (Obsolète). Quittez après avoir lu et exécuté une commande.
-u Traitez les paramètres non définis comme une erreur lors de la substitution.
-v Imprimez les lignes d'entrée du shell au fur et à mesure qu'elles sont lues.
-x Affiche les commandes et leurs arguments au fur et à mesure de leur exécution.
-- Ne modifiez aucune des options ; utile dans le cadre $1 à une valeur commençant
avec -. Si aucun argument ne suit cette option, alors les paramètres positionnels
sont non réglés.
En tant que fonctionnalité obsolète, si le premier arg is - puis le -x et -v les options sont tournées
éteint et le suivant arg est traité comme le premier argument. Utilisant + plutôt que -
provoque la désactivation de ces options. Ces options peuvent également être utilisées sur
invocation de la coquille. L'ensemble actuel d'options peut être trouvé dans $-. À moins que -A
est spécifié, les arguments restants sont des paramètres positionnels et sont affectés,
afin de $1 $2 .... Si aucun argument n'est donné, alors les noms et les valeurs de
toutes les variables sont imprimées sur la sortie standard.
† décalage [ n ]
Les paramètres de position de $n+1 ... sont renommés $1 ... , défaut n est 1. Le
paramètre n peut être n'importe quelle expression arithmétique qui donne une valeur non négative
nombre inférieur ou égal à $#.
sleep secondes
Suspend l'exécution pour le nombre de secondes décimales ou de fractions de seconde donné
by secondes.
† piège [ -p ] [ action ] [ sig ]...
Le manuel de formation -p L'option provoque l'action d'interruption associée à chaque interruption comme spécifié par le
arguments à imprimer avec les guillemets appropriés. Autrement, action sera
traité comme s'il s'agissait d'un argument pour eval quand le shell reçoit le(s) signal(s) sig.
Chaque sig peut être donné sous forme de nombre ou de nom du signal. Les commandes de piège sont
exécuté dans l'ordre du numéro de signal. Toute tentative de poser un piège sur un signal qui a été
ignoré à l'entrée du shell courant est inefficace. Si action est omis et le
premier sig est un nombre, ou si action is -, puis le(s) piège(s) pour chaque sig sont réinitialisés
à leurs valeurs d'origine. Si action est la chaîne nulle alors ce signal est ignoré
par le shell et par les commandes qu'il invoque. Si sig is ERR puis action sera
exécutée chaque fois qu'une commande a un état de sortie différent de zéro. Si sig is DEBUG puis
action sera exécuté avant chaque commande. La variable .sh.commande contiendra
le contenu de la ligne de commande actuelle lorsque action est en cours d'exécution. Si la sortie
le statut du piège est 2 la commande ne sera pas exécutée. Si l'état de sortie de
le piège est 255 et à l'intérieur d'une fonction ou d'un script à points, la fonction ou le script à points
reviendra. Si sig is 0 or EXIT et la piège l'instruction est exécutée à l'intérieur du
corps d'une fonction définie avec le fonction prénom syntaxe, puis la commande action
est exécuté une fois la fonction terminée. Si sig is 0 or EXIT | piège set
en dehors de toute fonction alors la commande action est exécuté à la sortie du shell.
If sig is CLAVIER, puis action sera exécuté chaque fois qu'une clé est lue pendant
emacs, gmacs, ou vi mode. le piège la commande sans argument affiche une liste de
commandes associées à chaque numéro de signal.
An sortie or retourner sans argument dans une action d'interruption préserve l'état de sortie de
la commande qui a appelé le trap.
oui Ne fait rien et quitte 0. Utilisé avec tout en pour des boucles infinies.
† † composer [ ±ACHSfblmnprtux ] [ ±EFLRXZi[n] ] [ +-M [ nom de la carte ] ] [ -T [
tnom=(assign_list) ] ] [ -h str ] [ -a [type] ] [ nom_v[=Plus-value ] ] ...
Définit les attributs et les valeurs des variables et fonctions du shell. Lorsqu'il est invoqué à l'intérieur
une fonction définie avec le fonction prénom syntaxe, une nouvelle instance de la variable
nom_v est créé, et la valeur et le type de la variable sont restaurés lorsque la fonction
complète. La liste d'attributs suivante peut être spécifiée :
-A Déclare nom_v être un tableau associatif. Les indices sont des chaînes plutôt
que les expressions arithmétiques.
-C provoque chaque nom_v être une variable composée. Plus-value nomme un composé
variable dans laquelle il est copié nom_v. Sinon, il désactive chaque nom_v.
-a Déclare nom_v être un tableau indexé. Si type est spécifié, il doit être le
nom d'un type d'énumération créé avec le enum commande et il permet
constantes d'énumération à utiliser comme indices.
-E Déclare nom_v être un nombre à virgule flottante double précision. Si n est non-
zéro, il définit le nombre de chiffres significatifs qui sont utilisés lorsque
expansion nom_v. Dans le cas contraire, dix chiffres significatifs seront utilisés.
-F Déclare nom_v être un nombre à virgule flottante double précision. Si n est non-
zéro, il définit le nombre de chiffres après la virgule qui sont utilisés
lors de l'expansion nom_v. Sinon, dix chiffres après la virgule seront
utilisé.
-H Cette option fournit un mappage de fichier UNIX vers le nom d'hôte sur les machines non UNIX.
-L Justifier à gauche et supprimer les blancs de Plus-value. Si n est différent de zéro, il
définit la largeur du champ, sinon elle est déterminée par la largeur de
la valeur de la première affectation. Lorsque la variable est affectée à, il est
rempli à droite de blancs ou tronqué, si nécessaire, pour rentrer dans le
champ. le -R l'option est désactivée.
-M Utiliser le mappage de caractères cartographie Défini par wc trans(3). tel que baisser
et toupie lors de l'attribution d'une valeur à chacun des opérandes spécifiés. Lorsque
cartographie est spécifié et il n'y a pas d'opérandes, toutes les variables qui utilisent cette
mappage sont écrits sur la sortie standard. Lorsque cartographie est omis et là
n'y a pas d'opérandes, toutes les variables mappées sont écrites sur la sortie standard.
-R Justifiez à droite et remplissez avec des blancs de début. Si n est non nul, il définit
la largeur du champ, sinon elle est déterminée par la largeur de la valeur
de première affectation. Le champ est laissé rempli de blancs ou tronqué de
la fin si la variable est réaffectée. le -L l'option est désactivée.
-S Lorsqu'il est utilisé dans le assign_list d'une définition de type, il provoque la
sous-variable spécifiée à partager par toutes les instances du type. Lorsqu'ils sont utilisés
à l'intérieur d'une fonction définie avec le fonction mot réservé, le spécifié
les variables auront fonction statique portée. Sinon, la variable n'est pas définie
avant de traiter la liste d'affectation.
-T Si suivi de tnom, il crée un type nommé par tnom en utilisant le composé
affectation assign_list à tnom. Sinon, il écrit tout le type
définitions à la sortie standard.
-X Déclare nom_v être un nombre à virgule flottante double précision et se développe
en utilisant l' %a format ISO-C99. Si n est différent de zéro, il définit le nombre de
chiffres hexadécimaux après le point de base utilisé lors de l'expansion nom_vL’
la valeur par défaut est 10.
-Z Justifier à droite et remplir avec des zéros non significatifs si le premier caractère non vide
est un chiffre et le -L l'option n'a pas été définie. Supprimez les zéros non significatifs si le
-L l'option est également définie. Si n est non nul, il définit la largeur du champ,
sinon, il est déterminé par la largeur de la valeur de la première affectation.
-f Les noms font référence à des noms de fonctions plutôt qu'à des noms de variables. Non
les affectations peuvent être faites et les seules autres options valides sont -S, -t, -u et
-x. Le -S peut être utilisé avec des fonctions de discipline définies dans un type à
indique que la fonction est statique. Pour une fonction statique, la même chose
La méthode sera utilisée par toutes les instances de ce type, quelle que soit l'instance
y fait référence. De plus, il ne peut utiliser que la valeur des variables du
définition du type d'origine. Ces fonctions disciplinaires ne peuvent être redéfinies dans
n'importe quel type d'instance. le -t l'option active le suivi d'exécution pour cela
fonction. le -u L'option fait que cette fonction est marquée comme indéfinie. le
FPATH variable sera recherchée pour trouver la définition de la fonction lorsque la
la fonction est référencée. Si aucune autre option que -f est spécifié, alors le
la définition de la fonction sera affichée sur la sortie standard. Si +f is
spécifié, puis une ligne contenant le nom de la fonction suivi d'un shell
commentaire contenant le numéro de ligne et le nom du chemin du fichier où ce
fonction a été définie, le cas échéant, s'affiche. Le statut de sortie peut être utilisé pour
déterminer si la fonction est définie de telle sorte que composer -f .sh.math.prénom
renverra 0 lorsque la fonction mathématique prénom est défini et différent de zéro sinon.
-b La variable peut contenir n'importe quel nombre d'octets de données. Les données peuvent être du texte ou
binaire. La valeur est représentée par l'encodage base64 des données. Si -Z
est également spécifié, la taille en octets des données dans le tampon sera
déterminé par la taille associée à la -Z. Si la chaîne base64
les résultats attribués dans plus de données, il sera tronqué. Sinon, ce sera
rempli d'octets dont la valeur est zéro. le printf le format %B peut être utilisé pour
sortir les données réelles dans ce tampon au lieu de l'encodage base64 du
revendre.
-h Utilisé dans les définitions de type pour ajouter des informations lors de la génération d'informations
à propos de la sous-variable sur la page de manuel. Il est ignoré lorsqu'il est utilisé en dehors de
une définition de type. Lorsqu'il est utilisé avec -f l'information est associée au
fonction disciplinaire correspondante.
-i Déclare nom_v à représenter en interne sous forme d'entier. Le côté droit
d'une affectation est évaluée comme une expression arithmétique lors de l'affectation à
un nombre entier. Si n est non nul, il définit la base arithmétique de sortie,
sinon la base de sortie sera dix.
-l Utilisé avec -i, -E or -F, pour indiquer un entier long ou un flottant long. Autrement,
tous les caractères majuscules sont convertis en minuscules. La majuscule
option, -u, est désactivé. Équivalent à -M baisser .
-m déplace ou renomme la variable. La valeur est le nom d'une variable dont
la valeur sera déplacée vers nom_v. La variable d'origine sera désactivée. Ne peux pas
être utilisé avec d'autres options.
-n Déclare nom_v être une référence à la variable dont le nom est défini par
la valeur de la variable nom_v. Ceci est généralement utilisé pour référencer une variable
à l'intérieur d'une fonction dont le nom a été passé en argument. Ne peut pas être utilisé
avec toutes les autres options.
-p Le nom, les attributs et les valeurs du nom_vs sont écrits sur la norme
sortie sous une forme pouvant être utilisée comme entrée du shell. Si +p est spécifié, alors
les valeurs ne sont pas affichées.
-r Le donné nom_vs sont marqués en lecture seule et ces noms ne peuvent pas être modifiés par
affectation ultérieure.
-t Balise les variables. Les balises sont définissables par l'utilisateur et n'ont aucune signification particulière pour
La coquille.
-u Lorsqu'il est donné avec -i, spécifie un entier non signé. Sinon, tous inférieurs-
les caractères de casse sont convertis en majuscules. L'option en minuscules, -l, est
éteindre. Équivalent à -M toupie .
-x Le donné nom_vs sont marqués pour l'exportation automatique vers le convivial of
commandes exécutées par la suite. Les variables dont les noms contiennent un . ne peut pas
être exporté.
Le manuel de formation -i l'attribut ne peut pas être spécifié avec -R, -L, -Z, ou -f.
En utilisant + plutôt que - provoque la désactivation de ces options. Sinon nom_v arguments
sont donnés, une liste de noms de domaine (et éventuellement le valeurs) du les variables is
imprimé. (Utilisant + plutôt que - empêche l'impression des valeurs.) Le -p
l'option provoque composer suivi des lettres d'option à imprimer avant chaque nom
plutôt que les noms des options. Si une option autre que -p est donné, seulement
les variables qui ont toutes les options données sont imprimées. Sinon, le
nom_vs et attributs Tout d' les variables qui ont des attributs sont imprimés.
ulimit [ -HSacdfmnpstv ] [ limite ]
Définir ou afficher une limite de ressources. Les limites de ressources disponibles sont répertoriées ci-dessous.
De nombreux systèmes ne prennent pas en charge une ou plusieurs de ces limites. La limite pour un certain
la ressource est définie lorsque limite est spécifié. La valeur de limite peut être un nombre dans le
unité spécifiée ci-dessous avec chaque ressource, ou la valeur illimitéL’ -H et -S
les options spécifient si la limite stricte ou la limite souple pour la ressource donnée est
ensemble. Une limite stricte ne peut pas être augmentée une fois qu'elle est définie. Une limite souple peut être
augmenté jusqu'à la valeur de la limite dure. Si ni le H ni S option est
spécifié, la limite s'applique aux deux. La limite de ressource actuelle est imprimée lorsque
limite est omis. Dans ce cas, la limite souple est imprimée sauf si H est spécifié.
Lorsque plusieurs ressources sont spécifiées, le nom et l'unité de la limite sont imprimés
avant la valeur.
-a Répertorie toutes les limites de ressources actuelles.
-c Le nombre de blocs de 512 octets sur la taille des vidages de mémoire.
-d Le nombre de K-octets sur la taille de la zone de données.
-f Le nombre de blocs de 512 octets sur les fichiers qui peuvent être écrits par le
processus ou par des processus enfants (les fichiers de n'importe quelle taille peuvent être lus).
-m Le nombre de K-octets sur la taille de la mémoire physique.
-n Le nombre de descripteurs de fichier plus 1.
-p Le nombre de blocs de 512 octets pour la mise en mémoire tampon du canal.
-s Le nombre de K-octets sur la taille de la zone de pile.
-t Le nombre de secondes CPU à utiliser par chaque processus.
-v Le nombre de Ko pour la mémoire virtuelle.
Si aucune option n'est donnée, -f est assumé.
umask [ -S ] [ masque ]
Le masque de création de fichier utilisateur est défini sur masque (voir umask(2)). masque peut être soit un
nombre octal ou une valeur symbolique comme décrit dans chmod(1). Si une valeur symbolique est
donnée, la nouvelle valeur umask est le complément du résultat de l'application masque à la
complément de la valeur umask précédente. Si masque est omis, la valeur actuelle de
le masque est imprimé. le -S L'option provoque l'impression du mode sous forme de symbole
valeur. Sinon, le masque est imprimé en octal.
† Unalias [ -a ] prénom ...
Les alias donnés par la liste des prénoms sont supprimés de la liste des alias. le -a
L'option entraîne la désactivation de tous les alias.
†unset [ -fnv ] nom_v ...
Les variables données par la liste des nom_vs ne sont pas affectés, c'est-à-dire, à l'exception des sous-
variables au sein d'un type, leurs valeurs et attributs sont effacés. Pour les sous-variables
d'un type, les valeurs sont réinitialisées à la valeur par défaut de la définition de type.
Les variables en lecture seule ne peuvent pas être supprimées. Si la -f l'option est définie, alors les noms se réfèrent
à fonction noms. Si la -v est définie, les noms se réfèrent à variable
noms. Les -f remplacements d'options -v. Si -n est réglé et prénom est une référence de nom,
puis prénom sera non défini plutôt que la variable à laquelle il fait référence. Le défaut
équivaut à -v. Désarmer LINNO, VÉRIFICATION DU COURRIER, OPTARG, OPTINDRE, RANDOM, SECONDS,
TMOUTet _ supprime leur signification particulière même s'ils sont ultérieurement attribués
à.
attendez [ JOB ...]
Attendre le spécifié JOB et signaler son statut de résiliation. Si JOB n'est pas donné,
alors tous les processus enfants actuellement actifs sont attendus. Le statut de sortie de
cette commande est celle du dernier processus attendu si JOB est spécifié; autrement
c'est zéro. Voir Emplois pour une description du format de JOB.
D'où [ -afpv ] prénom ...
Pour chaque prénom, indiquez comment il serait interprété s'il était utilisé comme nom de commande.
Le manuel de formation -v L'option produit un rapport plus détaillé. le -f l'option ignore la recherche de
les fonctions. le -p l'option fait une recherche de chemin pour prénom même si le nom est un alias, un
fonction ou un mot réservé. le -p l'option désactive le -v option. La -a
l'option est similaire à la -v option mais provoque toutes les interprétations du prénom
à signaler.
Invocation.
Si le shell est invoqué par exec(2), et le premier caractère de l'argument zéro ($0) est -,
alors la coque est supposée être un vous connecter shell et les commandes sont lues depuis / etc / profile et
puis de soit .profil dans le répertoire courant ou $ HOME / .profile, si l'un des fichiers
existe. Ensuite, pour les shells interactifs, les commandes sont lues à partir du fichier nommé en exécutant
expansion de paramètre, substitution de commande et substitution arithmétique sur la valeur du
variable d'environnement ENV si le fichier existe. Si la -s l'option n'est pas présente et arg et
un fichier du nom de arg existe, puis il lit et exécute ce script. Sinon, si
le premier arg ne contient pas de /, une recherche de chemin est effectuée sur le premier arg à
déterminer le nom du script à exécuter. Le scénario arg doit avoir l'autorisation d'exécution
et n'importe quel tranquille et définir l'ID les paramètres seront ignorés. Si le script n'est pas trouvé sur le
chemin, arg est traité comme s'il nommait une commande ou une fonction intégrée. Les commandes sont alors
lire comme décrit ci-dessous ; les options suivantes sont interprétées par le shell lorsqu'il est
invoqué :
-D N'exécutez pas le script, mais affichez l'ensemble de chaînes entre guillemets précédés de
a $. Ces chaînes sont nécessaires pour la localisation du script vers différents
local
-E Lit le fichier nommé par le ENV variable ou par $HOME/.kshrc s'il n'est pas défini après
les profils.
-c Si la -c est présente, les commandes sont lues à partir du premier arg. Tout
les arguments restants deviennent des paramètres positionnels à partir de 0.
-s Si la -s l'option est présente ou s'il ne reste aucun argument, les commandes sont lues
à partir de l'entrée standard. Sortie Shell, à l'exception de la sortie du Spécial
Commandes répertorié ci-dessus, est écrit dans le descripteur de fichier 2.
-i Si la -i est présente ou si l'entrée et la sortie du shell sont attachées à un
terminal (comme dit par tcgetattr(2)), alors cette coquille est Interactif. Dans ce
cas TERM est ignoré (de sorte que tuer 0 ne tue pas un shell interactif) et
INTR est intercepté et ignoré (de sorte que attendez est ). Dans tous les cas, QUIT est ignoré par
La coquille.
-r Si la -r est présente, le shell est un shell restreint.
-D Une liste de toutes les chaînes entre guillemets doubles précédées d'un $ sera imprimé sur
sortie standard et le shell se fermera. Cet ensemble de chaînes sera soumis à
traduction de la langue lorsque la locale n'est pas C ou POSIX. Aucune commande ne sera
réalisé.
-R nom de fichier
Le manuel de formation -R nom de fichier L'option est utilisée pour générer une base de données de références croisées qui peut
être utilisé par un utilitaire distinct pour trouver des définitions et des références pour les variables
et commandes.
Les options et arguments restants sont décrits dans la section set commande ci-dessus. Une
facultatif - car le premier argument est ignoré.
Rksh Seulement.
Rksh est utilisé pour configurer des noms de connexion et des environnements d'exécution dont les capacités sont plus
contrôlés que ceux du shell standard. Les actes de rksh sont identiques à ceux
of ksh, sauf que les éléments suivants sont interdits :
Désactivation de l'option restreinte.
changer de répertoire (voir cd(sept)),
définir ou désactiver la valeur ou les attributs de SHELL, ENV, FPATH, ou CHEMIN,
spécification du chemin ou des noms de commande contenant /,
rediriger la sortie (>, >|, <>et >>).
ajouter ou supprimer des commandes intégrées.
grâce à commander -p pour invoquer une commande.
Les restrictions ci-dessus sont appliquées après .profil et la ENV les fichiers sont interprétés.
Lorsqu'une commande à exécuter s'avère être une procédure shell, rksh invoque ksh à
l'exécuter. Ainsi, il est possible de fournir à l'utilisateur final des procédures shell qui ont
accéder à toute la puissance du shell standard, tout en imposant un menu de commandes limité ;
ce schéma suppose que l'utilisateur final n'a pas d'autorisations d'écriture et d'exécution dans le
même répertoire.
L'effet net de ces règles est que l'auteur de la .profil a un contrôle total sur
actions de l'utilisateur, en effectuant des actions de configuration garanties et en laissant l'utilisateur dans un
répertoire approprié (probablement pas le répertoire de connexion).
L'administrateur système met souvent en place un répertoire de commandes (par exemple, /usr/rbin) qui peut
être invoqué en toute sécurité par rksh.
EXIT STATUT
Les erreurs détectées par le shell, telles que les erreurs de syntaxe, amènent le shell à renvoyer une valeur non nulle
état de sortie. Si le shell est utilisé de manière non interactive, alors l'exécution du shell
le fichier est abandonné à moins que l'erreur ne se produise dans un sous-shell, auquel cas le sous-shell est
abandonné. Sinon, le shell renvoie l'état de sortie de la dernière commande exécutée (voir
également sortie commande ci-dessus). Les erreurs d'exécution détectées par le shell sont signalées par
impression du nom de la commande ou de la fonction et de la condition d'erreur. Si le numéro de ligne qui
l'erreur s'est produite sur est supérieure à un, alors le numéro de ligne est également imprimé en carré
supports ([]) après le nom de la commande ou de la fonction.
Utilisez ksh93 en ligne en utilisant les services onworks.net