
Может ли кто-нибудь объяснить, почему, когда я выдаю:
су
эхо $0
там написано:
Баш
когда
su -
эхо $0
там написано:
-су
? Я прав, что в первом случае (просто su
) текущая оболочка порождает новую неинтерактивную оболочку, а во втором случае ( su -
) она просто остается с текущей оболочкой?
решение1
При использовании su
вы просто наследуете среду пользователя, который работает su
. Напротив, при использовании su -
(это ярлык для -login
опции su
) он переключает вас «полностью» на учетную запись root и настраивает среду таким же образом, как если бы вы вошли напрямую в root
решение2
Ответ Алекса правильный, но он не объяснил, что вы видите. Когда вы запускаете, su -
он импортирует среду пользователя, на которого вы переключаетесь (в данном случае root). Последняя команда, которую вы выполнили как root, должна была быть su
.