Я слышал (хотя я не могу найти никаких источников для доказательства), что переменная окружения USER не может быть установлена в старых оболочках Unix (возможно, даже в некоторых неясных оболочках). Какова вероятность того, что он не будет установлен?

2 ответа2

2

Вероятность очень низкая.

если вам нужен запасной вариант при написании скрипта:

USER=${USER:-`whoami`}

... по умолчанию будет $ USER, если он не установлен.

Для действительно старых оболочек Борна до POSIX вы бы хотели:

test -z "$USER" && USER=`whoami`
0

Ну, вы ожидаете использовать какие-либо старые оболочки или ожидаете, что пользователи вашей программы сделают это?

В любом случае, всегда есть id -un , хотя я понятия не имею, является ли он более или менее универсальным, чем $ USER. Вы могли бы иметь свой сценарий попробовать оба.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .