Я слышал (хотя я не могу найти никаких источников для доказательства), что переменная окружения USER не может быть установлена в старых оболочках Unix (возможно, даже в некоторых неясных оболочках). Какова вероятность того, что он не будет установлен?
2 ответа
2
Вероятность очень низкая.
если вам нужен запасной вариант при написании скрипта:
USER=${USER:-`whoami`}
... по умолчанию будет $ USER, если он не установлен.
Для действительно старых оболочек Борна до POSIX вы бы хотели:
test -z "$USER" && USER=`whoami`
0
Ну, вы ожидаете использовать какие-либо старые оболочки или ожидаете, что пользователи вашей программы сделают это?
В любом случае, всегда есть id -un
, хотя я понятия не имею, является ли он более или менее универсальным, чем $ USER. Вы могли бы иметь свой сценарий попробовать оба.