Respuestas:
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 -v
se considerará la opción para revertir el significado coincidente (solo mostrar líneas que no coinciden), pero con --
usted puede grep para una cadena -v
como esta:
grep -- -v file
--
funciona para separar las opciones de las expresiones regulares grep
, pero la forma canónica es usar -e
/ --regexp
.
--
, 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).
bash
comandos incorporados aceptan --
como el final del marcador de opción. [
y echo
no, por ejemplo ( una de las razones echo
no se puede usar de manera confiable ).
En man bash
podemos 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
, ytest
órdenes internas no aceptan opciones y no tratan--
de forma especial. Elexit
,logout
,break
,continue
,let
, yshift
ó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
echo
no interpreta--
que significa el final de las opciones.
man bash
(note to self para la próxima vez:).
POSIX.1-2017
12.2 Pautas de sintaxis de utilidad
Directriz 10:
El primer
--
argumento que no es un argumento de opción debe aceptarse como un delimitador que indica el final de las opciones. Los siguientes argumentos deben tratarse como operandos, incluso si comienzan con el carácter '-
'.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
set
incorporado, donde es absolutamente necesario.