GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:qual è la differenza tra `su -` e `su –login`?

Da su Pagina man di:

For  backward  compatibility, su defaults to not change the current directory
and to only set the environment variables HOME and SHELL (plus USER and LOGNAME
if the target user is not root).  It is recommended to always use the 
--login option (instead of  its  shortcut -) to avoid side effects caused
by mixing environments.

...

-, -l, --login
    Start the shell as a login shell with an environment similar to a real login:

        o      clears all the environment variables except TERM

        o      initializes the environment variables HOME, SHELL, USER, LOGNAME, and PATH

        o      changes to the target user's home directory

        o      sets argv[0] of the shell to '-' in order to make the shell a login shell

È difficile dire se c'è qualche differenza tra - e --login (o presumibilmente solo -l ). Vale a dire, la pagina man dice "invece della sua scorciatoia -", ma tutte queste opzioni sono raggruppate insieme e non vedo una spiegazione della differenza, se esiste.

UPD Ho controllato la domanda, che dovrebbe risolvere il mio problema. La domanda riguarda sostanzialmente la differenza tra su e su - . E sto chiedendo della differenza tra su - e su --login . Quindi no, non lo risolve affatto.

Risposta accettata:

La voce manuale di Debian sembra essere più illuminante:

   -, -l, --login
       Provide an environment similar to what the user would expect had the user logged
       in directly.

       When - is used, it must be specified before any username. For portability it is
       recommended to use it as last option, before any username. The other forms (-l
       and --login) do not have this restriction.

Linux
  1. La differenza di utilizzo tra variabili Shell e variabili d'ambiente?

  2. Qual è la differenza tra Sudo Su – e Sudo Su –?

  3. Linux:la differenza tra riavvio, Init 6 e spegnimento -r Now?

  4. Qual è la differenza tra individuare e trovare il comando in Linux

  5. Qual è la differenza tra nohup e e commerciale

Comprendere la differenza tra il comando sudo e su su Linux

Qual ​​è la differenza tra i kernel macOS e Linux

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra un container Linux e un'immagine?

Qual è la differenza tra Login e Non-Login Shell

Qual è la differenza tra una console, un terminale e una shell?