
Alguém pode explicar por que quando eu emito:
su
eco $0
diz:
festa
quando
su -
eco $0
diz:
-su
? Estou certo de que no primeiro caso (apenas su
) o shell atual gera um novo shell não interativo, enquanto no segundo caso ( su -
) ele apenas permanece com o shell atual?
Responder1
Quando você usa apenas su
o ambiente herdado do usuário que está executando o su
. Em contraste, quando você usa su -
(é um atalho para -login
a opção de su
), ele muda você "completamente" para a conta do root e configura o ambiente da mesma forma como se acontecesse se você fizesse login diretamente no root
Responder2
A resposta de Alex está correta, mas ele não explicou realmente o que você está vendo. Ao executá-lo, su -
ele está importando o ambiente do usuário para o qual você está mudando (root neste caso). O último comando que você executou como root deve ter sido su
.