Команды Shell и su

Команды Shell и su

Может ли кто-нибудь объяснить, почему, когда я выдаю:

су
эхо $0

там написано:

Баш

когда

su -
эхо $0

там написано:

-су

? Я прав, что в первом случае (просто su) текущая оболочка порождает новую неинтерактивную оболочку, а во втором случае ( su -) она просто остается с текущей оболочкой?

решение1

При использовании suвы просто наследуете среду пользователя, который работает su. Напротив, при использовании su -(это ярлык для -loginопции su) он переключает вас «полностью» на учетную запись root и настраивает среду таким же образом, как если бы вы вошли напрямую в root

решение2

Ответ Алекса правильный, но он не объяснил, что вы видите. Когда вы запускаете, su -он импортирует среду пользователя, на которого вы переключаетесь (в данном случае root). Последняя команда, которую вы выполнили как root, должна была быть su.

Связанный контент