Книга: Искусство программирования на языке сценариев командной оболочки
Пример 9-5. Я -- root?
Пример 9-5. Я -- root?
#!/bin/bash
# am-i-root.sh: Root я, или не root?
ROOT_UID=0 # $UID root-а всегда равен 0.
if [ "$UID" -eq "$ROOT_UID" ] # Настоящий "root"?
then
echo "- root!"
else
echo "простой пользователь (но мамочка вас тоже любит)!"
fi
exit 0
# ============================================================= #
# Код, приведенный ниже, никогда не отработает,
#+ поскольку работа сценария уже завершилась выше
# Еще один способ отличить root-а от не root-а:
ROOTUSER_NAME=root
username=`id -nu` # Или... username=`whoami`
if [ "$username" = "$ROOTUSER_NAME" ]
then
echo "Рутти-тутти. - root!"
else
echo "Вы - лишь обычный юзер."
fi
См. также Пример 2-2.
tcsh% echo $LOGNAME
bozo
tcsh% echo $SHELL
/bin/tcsh
tcsh% echo $TERM
rxvt
bash$ echo $LOGNAME
bozo
bash$ echo $SHELL
/bin/tcsh
bash$ echo $TERM
rxvt
Позиционные параметры (аргументы)
$0, $1, $2 и т.д.
аргументы передаются... из командной строки в сценарий, функциям или команде set (см. Пример 4-5 и Пример 11-13)
$#
количество аргументов командной строки[ 20 ], или позиционных параметров (см. Пример 33-2)
$*
Все аргументы в виде одной строки (слова)
$@
То же самое, что и $*, но при этом каждый параметр представлен как отдельная строка (слово), т.е. параметры не подвергаются какой либо интерпретации.
- Пример 9-1. $IFS и пробельные символы
- Пример 9-2. Ограничения времени ожидания ввода
- Пример 9-3. Еще один пример ограничения времени ожидания ввода от пользователя
- Пример 9-4. Ограничение времени ожидания команды read
- Пример 9-5. Я -- root?
- Пример 9-6. arglist: Вывод списка аргументов с помощью переменных $* и $@
- Пример 9-7. Противоречия в переменных $* и $@
- Пример 9-8. Содержимое $* и $@, когда переменная $IFS -- пуста
- Пример 9-9. Переменная "подчеркивание"
- 3.5.1. Формирование задания
- 6.4. Использования Samba
- Пример 13-3.
- Пример установочного скрипта
- Пример из практики
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы
- Пример 17-10. Блочный комментарий
- Примеры