Que signifie "-" dans les commandes du terminal?

23

J'ai vu de nombreux tutoriels qui utilisent des commandes -- après. Quelque chose comme ça:

command -- 

Que signifie ce -- ?

    
posée Jibril 02.07.2016 - 18:16
la source

2 réponses

45

Le -- est utilisé pour indiquer la fin des options de la 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, rm pensera 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

C'est une pratique courante et recommandé par POSIX , il est donc pris en charge par de nombreux programmes. .

    
réponse donnée terdon 02.07.2016 - 18:20
la source
1

La plupart des commandes utilisent un - pour indiquer à la commande que d’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», s’interprétera lui-même avant - et transmettra tout ce qui suit au serveur X.

    
réponse donnée delt 05.07.2016 - 21:16
la source

Lire d'autres questions sur les étiquettes