Остановитесь/уничтожьте запускать скрипт если $USER! = “корень”

Я работаю над сценарии, который должен быть выполнен как корень, еще он должен остановить все.

#!/bin/bash
validationRoot() {
    if [ $USER != 'root' ]
        then
            echo "You're not root! You can't use this script."

    fi
}
validationRoot;
echo "You're root!"

Я не знаю, что добавить, добавляют после echo "You're not root! You can't use this script." остановить выполнение.

4
задан 29 November 2014 в 14:22

1 ответ

Я сделал бы это как это:

#!/bin/bash
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

Мышление, что id=0 - то, что используется в ядре для идентификации суперпользователя (или корень).

<час>

редактирование: будет еще лучше перенаправить к STDERR.

<час>

Вот острота:)

(( EUID )) && echo ‘You need to be root.’ && exit 1
7
ответ дан 17 November 2019 в 04:06

Другие вопросы по тегам:

Похожие вопросы: