Подтвердить что ты не робот

Bash: сбой, если script не запускается root

У меня есть bash script, который устанавливает какое-то программное обеспечение. Я хочу сбой как можно скорее, если он не запускается root. Как я могу это сделать?

4b9b3361

Ответ 2

После этого, похоже, консенсус состоит в том, что нет необходимости использовать id -u в bash, поскольку будет установлена ​​переменная EUID (эффективный идентификатор пользователя). В отличие от UID, EUID будет 0, когда пользователь root или использует sudo. По-видимому, это примерно в 100 раз быстрее, чем запуск id -u:

#!/bin/bash
if (( EUID != 0 )); then
    echo "You must be root to do this." 1>&2
    exit 1
fi

Источник: https://askubuntu.com/info/30148/how-can-i-determine-whether-a-shellscript-runs-as-root-or-not