Каноническая переменная среды bash, представляющая адрес электронной почты пользователя

Я пишу функцию bash, которая после завершения отправки электронной почты будет отправлена ​​текущему пользователю. Мне интересно, есть ли канонический или обычный способ получить адрес электронной почты пользователя. Мой текущий план состоит в том, чтобы просто использовать $EMAIL , который, безусловно, будет работать достаточно хорошо, но я не был уверен, был ли лучший или «правильный» способ ссылаться на адрес электронной почты текущего пользователя (предполагая, конечно, что он установлен ).

Обратите внимание, что я не пытаюсь отправлять электронную почту локальной сети, а удаленный адрес.

2 Solutions collect form web for “Каноническая переменная среды bash, представляющая адрес электронной почты пользователя”

Если вы действительно этого хотите («ожидайте, что пользователям моего сценария нужно будет указать адрес, который они хотят использовать»), вы всегда можете попросить их поместить свой адрес электронной почты в файл ~/.emailaddress или другой локальный файл. При наличии соответствующих разрешений на их домашние каталоги и этот файл это может сработать.

Правильным способом было бы установить местную доставку почты и оставить ее пользователям, если они хотят использовать локальную рассылку или свой «внешний» адрес, используя ~/.forward .

На мой взгляд , любой разумный подход сохранил бы «внешний» адрес электронной почты в файле, а не переменную среды. Существует много событий, которые могут препятствовать тому, чтобы переменная среды была установлена ​​/ доступна в вашем скрипте. Как root вы можете обеспечить читаемость файла, но вы не можете заставить пользователя быть умным о том, где и как они помещают свои определения envvar.

Существует не «лучший способ» этого. Адреса электронной почты являются информацией пользователя и, следовательно, принадлежат вашему управлению пользователями. Если вы используете LDAP, ответ dawud подскажет, куда его поместить и получить. Если вы используете простой старый /etc/passwd , у него есть поле комментариев. Если вы хотите сохранить его в своих домашних каталогах (и это то, что вы делаете, когда говорите о пользователях, предоставляющих эту информацию в своих средах оболочки), я дал вам два способа добиться этого, в зависимости от того, есть ли у вас местная почта.

Если вы уже используете LDAP, то вам лучше всего пойти с советами dawud. Если вы этого не сделаете, настройка LDAP только для хранения некоторых адресов электронной почты является излишним, а не лучшим способом. Если вы хотите получить окончательный ответ, вам нужно быть более конкретным относительно вашего вопроса.

Нет такого понятия.

Однако вы можете ожидать, что mail атрибут будет существовать в каталоге LDAP в соответствии с RFC 4524 .

Существуют инструменты командной строки, такие как ldapsearch(1) , которые вы можете использовать в сценарии оболочки для извлечения этих значений.

Разумеется, вы также можете хранить информацию о пользователях в базе данных в другом месте.

Interesting Posts

значение переменной оболочки для цикла, отличного от цикла

Изменение раскладки клавиатуры хост-системы при запуске контейнера LXC

Может ли btrfs обрабатывать разные уровни RAID для разных подвыборов?

Как печатать строки, если два поля имеют одинаковые значения?

archlinux не может загрузиться после замены модуля init с помощью kmod

Добавить список номеров, как бухгалтер

Openbox / PCManFM / LXDE, как я могу назначить среднюю кнопку мыши как полноэкранный режим Alt + F11?

псевдоним? не работает в zsh

Как grep только на последнем столбце?

Как установить 64-битное snort на 64-битный openSUSE 13.1?

Есть ли техническая причина, по которой ssh-agent не имеет функции sudo-like бездействия или времени ожидания?

Итак, что мне делать с результатом проверки yum?

Новый элемент меню, называемый «arch_grub», появился как временное загрузочное устройство

Окно установки окон Каталог пользователей как / home в виртуальной машине linux

Заблокировать скрипт, запускающий демоны

Linux и Unix - лучшая ОС в мире.