Cuando estoy trabajando en nuestras máquinas RHEL, uso sudo su - para cambiar a ser root. Un día, un error tipográfico significó que escribí sudo su -- en cambio, me parece que todo era igual que con un solo guión, excepto que estaba en la misma carpeta que antes de ejecutar el comando (con un solo guión me encuentro en /root ).
¿Hay otras diferencias? ¿Es seguro usar esto en escenarios en los que sé que quiero trabajar en el mismo directorio?
Respuesta aceptada:
Cuando proporciona un guión doble, la experiencia que tendrá será idéntica a la que tendría si hubiera ejecutado sudo su sin ningún guión.
Pasar un solo guión es idéntico a pasar -l o --login . La página del manual para su describe el comportamiento como:
Proporcione un entorno similar al que el usuario esperaría si el usuario iniciara sesión directamente.
Esto incluye configurar su directorio en su directorio de inicio y configurar un montón de otras variables de entorno.
Pasar un guión doble a un comando generalmente se usa para marcar el final de las marcas de la línea de comandos y el comienzo de los argumentos que no son marcas. Por ejemplo, si ejecuta touch -R recibirás un error que dice que -R no es una opción para touch , pero si ejecuta touch -- -R creará un archivo llamado -R . Esto es cierto para muchas herramientas de línea de comandos (ls -R hará un ls recursivo mientras que ls -- -R realizará un ls en un archivo o directorio llamado -R .
Entonces, para resumir esto, cuando pasas solo -- a su básicamente está ignorando el -- y actuando como si no pasaras ninguna opción en absoluto.