¿Qué significa "-" (doble guión)? (también conocido como "doble guión desnudo")


Respuestas:


583

Más precisamente, --se utiliza un doble guión ( ) en los comandos integrados de bash y muchos otros comandos para indicar el final de las opciones de comando, después de lo cual solo se aceptan parámetros posicionales.

Ejemplo de uso: supongamos que desea grep un archivo para la cadena -v- normalmente -vse considerará la opción para revertir el significado coincidente (solo mostrar líneas que no coinciden), pero con --usted puede grep para una cadena -vcomo esta:

grep -- -v file

3
Lo más notable en el Bash setincorporado, donde es absolutamente necesario.
l0b0

10
--funciona para separar las opciones de las expresiones regulares grep, pero la forma canónica es usar -e/ --regexp.
l0b0

55
@ l0b0: el patrón para buscar es normalmente uno de los parámetros posicionales, por lo que puede ajustarse después del --, aunque tiene razón al señalar que mi ejemplo anterior también podría escribirse como grep -e -v file(aunque eso es muy confuso).
Guss

2
No todos los bashcomandos incorporados aceptan --como el final del marcador de opción. [y echono, por ejemplo ( una de las razones echono se puede usar de manera confiable ).
Stéphane Chazelas

44

Esto marca el final de la lista de parámetros (opción).


39

En man bashpodemos leer en la sección de comandos incorporados de Shell :

A menos que se indique lo contrario, cada comando incorporado documentado en esta sección acepta opciones precedidas por -acepta -- para indicar el final de las opciones .

Los :, true, false, y testórdenes internas no aceptan opciones y no tratan --de forma especial. El exit, logout, break, continue, let, y shiftórdenes internas y aceptar los argumentos de proceso que comienza con -sin requerir --. Otros componentes incorporados que aceptan argumentos pero no se especifican como opciones de aceptación interpretan argumentos que comienzan -como opciones no válidas y requieren --evitar esta interpretación.

Tenga en cuenta que echono interpreta --que significa el final de las opciones.


2
+1 para referencia man bash(note to self para la próxima vez:).
user3773048

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.