Réponses:
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
--fonctionne pour séparer les options des expressions régulières dans grep, mais la manière canonique consiste à utiliser -e/ --regexp.
--, 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).
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 ).
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,falseettestbuiltins n'acceptent pas les options et ne traitent pas--spécialement. Leexit,logout,break,continue,letetshiftbuiltins 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.
man bash(note-to-self pour la prochaine fois).
POSIX.1-2017
12.2 Instructions pour la syntaxe des utilitaires
Directive 10:
Le premier
--argument qui n'est pas un argument d'option doit être accepté comme un délimiteur indiquant la fin des options. Tous les arguments suivants doivent être traités comme des opérandes, même s'ils commencent par le caractère '-'.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
setintégré, où il est absolument nécessaire.