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.