Получение $USER в сценарии оболочки при выполнении с sudo?

Если Вы уже не используете ленивую загрузку (соответственно), запустить. Выбирающие наборы, когда Вам не нужны они, являются тратой всего.

Глава, Улучшающая производительность , описывает это и другие способы улучшить производительность.

32
задан Jörg Haubrichs 27 October 2009 в 09:19
поделиться

2 ответа

В моей системе переменная $ SUDO_USER установлена ​​на имя пользователя вызывающего абонента.

Вы не должны извлекать имя пользователя из $ {HOME} переменная напрямую. Он настраивается, а не рассчитывается. Чтобы извлечь имя пользователя, вы можете заглянуть в файл / etc / passwd , но он очень зависит от системы, например, иногда вам нужно заглянуть в каталог LDAP или записи распространяются через NIS ...

34
ответ дан 27 November 2019 в 20:09
поделиться

Проверьте переменную SUDO_USER .

http://www.gratisoft.us/sudo/man/sudo.html#environment

Другой способ получить пользователь находится через команду who . Иногда это полезно, когда вам все равно, есть у пользователя sudo'd или нет.

who -m | awk '{print $1;}'
18
ответ дан 27 November 2019 в 20:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: