J'ai vu de nombreux tutoriels qui utilisent des --commandes after. Quelque chose comme ça:
command --
Qu'est-ce --que cela signifie?
J'ai vu de nombreux tutoriels qui utilisent des --commandes after. Quelque chose comme ça:
command --
Qu'est-ce --que cela signifie?
Réponses:
Le --est utilisé pour indiquer la fin des options de ligne de commande. Cela vous permet d'utiliser des arguments commençant par --. Par exemple, si vous créez un fichier appelé --foo:
$ > '--foo'
$ ls
--foo
Et puis essayez de le supprimer, rmpensera que vous lui donnez un argument:
$ rm --foo
rm: unrecognized option '--foo'
Try 'rm ./--foo' to remove the file '--foo'.
Try 'rm --help' for more information.
Une solution consiste à utiliser --:
$ rm -- --foo
Cette pratique est courante et recommandée par POSIX , elle est donc prise en charge par de nombreux programmes.
rmprogramme et de nombreux utilitaires compatibles POSIX. Voir la ligne directrice 10 . Pour vérifier que ce n'est pas Bash qui fait le travail (et cela n'a pas de sens), il suffit de créer un petit script avec juste printf '> %s <\n' "$@"et de le lancer avec --.
--, mais, bien sûr, c'est simplement parce que le module Perl ( getopts) le prend également en charge. Vous avez tout à fait raison, j'ai simplement cherché rapidement man bash, vu la section que j'avais citée mais je n'ai pas remarqué qu'elle se trouvait dans la section "Options de ligne de commande". Merci pour la correction, réponse modifiée.
La plupart des commandes utilisent un - pour indiquer à la commande que les autres paramètres doivent être traités différemment. Un exemple est le nom de fichier rm - - noté ci-dessus. Un autre exemple, un script comme «startx» interprétera tout lui-même avant -, et passera tout après au serveur X.