Shell: получаем имя пользователя, запустившего скрипт

Определить имя пользователя, запустившего shell скрипт можно в несколько этапов:

Получить строку из /etc/passwd по UID пользователя (из переменной окружения $UID):

getent passwd $UID


sergei: x :1000:1001:sergei:/home/sergei:/bin/bash


Отфильтровать только имя:

getent passwd $UID | sed -e 's/\:.*//'


sergei


Такой прием нужен чтобы из скрипта завершить процессы принадлежащие пользователю, запустившему скрипт:

#!/bin/bash

killall -u $(getent passwd $UID | sed -e 's/\:.*//')  trayer
trayer --edge top --widthtype request --align right &
  • +4
  • 17 февраля 2011, 17:02
  • Sergei_T

Комментарии (1)

RSS свернуть / развернуть
+
0
класс !
avatar

Markony

  • 18 февраля 2011, 18:43

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.