Que signifie “-” (double tiret)? (aussi appelé «double tiret nu»)


Réponses:


583

Plus précisément, un double tiret ( --) est utilisé dans les commandes intégrées bash et de nombreuses autres commandes pour indiquer les options de fin de commande, après quoi seuls les paramètres de position sont acceptés.

Exemple d'utilisation: disons que vous voulez grep un fichier pour la chaîne -v- -vsera normalement considérée comme l'option permettant d'inverser le sens de la correspondance (affiche uniquement les lignes qui ne correspondent pas), mais --vous pouvez utiliser grep pour une chaîne -vcomme ceci:

grep -- -v file

3
Plus particulièrement dans le Bash setintégré, où il est absolument nécessaire.
l0b0

10
--fonctionne pour séparer les options des expressions régulières dans grep, mais la manière canonique consiste à utiliser -e/ --regexp.
l0b0

5
@ l0b0: le motif à rechercher est normalement l'un des paramètres de position, il peut donc tenir après le --, bien que vous ayez raison de noter que mon exemple ci-dessus pourrait également être écrit ainsi grep -e -v file(bien que cela soit très déroutant).
Guss

2
Toutes les bashcommandes intégrées ne sont pas acceptées --comme marqueur de fin d’option. [et echone le faites pas par exemple ( une des raisons echone peut pas être utilisée de manière fiable ).
Stéphane Chazelas

44

Ceci marque la fin de la liste des paramètres (options).


39

Dans man bashnous pouvons lire dans la section Commandes intégrées Shell :

Sauf indication contraire, chaque commande intégrée documentée dans cette section sous la forme d'une option d'acceptation précédée de -accepte -- de signifier la fin des options .

Les :, true, falseet testbuiltins n'acceptent pas les options et ne traitent pas --spécialement. Le exit, logout, break, continue, letet shiftbuiltins accepter et arguments de processus commençant par -sans nécessiter --. D'autres commandes intégrées qui acceptent des arguments mais ne sont pas spécifiées comme options d'acceptation interprètent les arguments commençant par -des options non valides et nécessitent --d'empêcher cette interprétation.

Notez que cela echon'interprète pas --la fin des options.


2
+1 pour le référencement man bash(note-to-self pour la prochaine fois).
user3773048

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.