À partir de su
la page de manuel de:
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
Il est difficile de dire s'il y a une différence entre -
et --login
(ou soi-disant juste -l
). A savoir, la page de manuel dit "au lieu de son raccourci -", mais toutes ces options sont regroupées, et je ne vois pas d'explication de la différence, si elle existe.
UPD J'ai vérifié la question, qui est censée résoudre mon problème . La question porte essentiellement sur la différence entre su
et su -
. Et je demande la différence entre su -
et su --login
. Alors non, ça ne résout pas du tout.
To avoid side effects caused by mixing environments use --login option or its equivalent -. The first form is recommended because - can be placed only just before username.
su
etsu -
. Et je demande la différence entresu -
etsu --login
. Qu'est-ce que j'oublie ici?Réponses:
L'entrée manuelle de Debian semble plus éclairante:
la source
-
. En parlant de cela, pourquoi "avant tout nom d' utilisateur"?I disagree, however, with the general point that, "before any username" can be rephrased as "before the username, if any." Perhaps Mr. Plotnik meant that the man page* should have rephrased the text using his suggestion, but the two phrases are not equivalent (as I explained at the beginning of this post).
Ce qui signifie que Mark Plotnick sait comment celasu
fonctionne, mais "avant tout nom d'utilisateur"! = "Avant le nom d'utilisateur, le cas échéant." Telle est la conclusion à laquelle la discussion est arrivée, à mon avis.il n'y a pas de différence, c'est comme courir;
juste un raccourci ...
la source
-
,-l
,--login
. Ma question est de savoir pourquoi il n'est pas recommandé d'utiliser-
, par opposition à «-l, and
--login».su
du tout, lors de l'écriture d'un script?