GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jaký je rozdíl mezi `su -` a `su –login`?

Z su manuálová stránka:

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

Těžko říct, jestli je nějaký rozdíl mezi - a --login (nebo pravděpodobně jen -l ). Konkrétně, manuálová stránka říká „místo své zkratky -“, ale všechny tyto možnosti jsou seskupeny a nevidím vysvětlení rozdílu, pokud vůbec existuje.

UPD Zkontroloval jsem otázku, která má vyřešit můj problém. Otázka se v podstatě týká rozdílu mezi su a su - . A já se ptám na rozdíl mezi su - a su --login . Takže ne, vůbec to neřeší.

Přijatá odpověď:

Ruční zadávání Debianu se zdá být srozumitelnější:

   -, -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. Jaký je rozdíl mezi $(stuff) a `stuff`?

  2. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  3. Rozdíl v použití mezi proměnnými shellu a proměnnými prostředí?

  1. Jaký je rozdíl mezi Sudo Su – a Sudo Su –?

  2. Linux – rozdíl mezi restartem, init 6 a vypnutím -r teď?

  3. Jaký je rozdíl mezi Print a Printf v Awk?

  1. Jaký je rozdíl mezi linuxovým kontejnerem a obrázkem?

  2. Jaký je rozdíl mezi „vyhledat“ a „najít“ v Linuxu?

  3. Jaký je rozdíl mezi &> a >&v bash?