<Предыдущая | Содержание: | Следующая>
D.2. / lib / lsb / init-функции
#! / Bin / ш
########################################################################### #####################
#
# Begin / lib / lsb / init-funtions
#
# Описание: Функции управления уровнем выполнения
#
#! / Bin / ш
########################################################################### #####################
#
# Begin / lib / lsb / init-funtions
#
# Описание: Функции управления уровнем выполнения
#
# Авторы
#
# Обновлять
#
# Версия
#
# Примечания
#
#
#
#
# Авторы
#
# Обновлять
#
# Версия
#
# Примечания
#
#
#
#
########################################################################### #####################
## Настройка среды
# Установить значения по умолчанию для окружения umask 022
экспорт ПУТЬ = "/ bin: / usr / bin: / sbin: / usr / sbin"
## Установить команды цвета, используемые через эхо
# Пожалуйста, обратитесь к `man console_codes для получения дополнительной информации
# в разделе "ECMA-48 Set Graphics Rendition"
#
# Предупреждение: при переключении с 8-битного на 9-битный шрифт,
# консоль linux будет интерпретировать жирный шрифт (1;) на
########################################################################### #####################
## Настройка среды
# Установить значения по умолчанию для окружения umask 022
экспорт ПУТЬ = "/ bin: / usr / bin: / sbin: / usr / sbin"
## Установить команды цвета, используемые через эхо
# Пожалуйста, обратитесь к `man console_codes для получения дополнительной информации
# в разделе "ECMA-48 Set Graphics Rendition"
#
# Предупреждение: при переключении с 8-битного на 9-битный шрифт,
# консоль linux будет интерпретировать жирный шрифт (1;) на

# верхние 256 символов 9-битного шрифта. Это делает
# не влияет на консоли фреймбуфера
NORMAL = "\\ 033 [0; 39m" # Стандартная консоль серый SUCCESS = "\\ 033 [1; 32m" # Успех - зеленый WARNING = "\\ 033 [1; 33m" # Предупреждения желтые FAILURE = "\\ 033 [1; 31m "# Ошибки красные INFO =" \\ 033 [1; 36m "# Информация светло-голубого цвета BRACKET =" \\ 033 [1; 34m "# Скобки синие
# Используйте цветной префикс BMPREFIX = ""
SUCCESS_PREFIX = "$ {УСПЕХ} * $ {NORMAL}" FAILURE_PREFIX = "$ {FAILURE} ***** $ {NORMAL}" WARNING_PREFIX = "$ {WARNING} *** $ {NORMAL}" SKIP_PREFIX = "$ { INFO} S $ {NORMAL} "
SUCCESS_SUFFIX = "$ {BRACKET} [$ {SUCCESS} OK $ {BRACKET}] $ {NORMAL}" FAILURE_SUFFIX = "$ {BRACKET} [$ {FAILURE} FAIL $ {BRACKET}] $ {NORMAL}" WARNING_SUFFIX = "$ {BRACKET} [$ {WARNING} WARN $ {BRACKET}] $ {NORMAL} "SKIP_SUFFIX =" $ {BRACKET} [$ {INFO} SKIP $ {BRACKET}] $ {NORMAL} "
BOOTLOG = / run / bootlog KILLDELAY = 3 SCRIPT_STAT = "0"
# Установите любые указанные пользователем переменные среды, например, HEADLESS [-r /etc/sysconfig/rc.site] &&. /etc/sysconfig/rc.site
## Размеры экрана
# Найти текущий размер экрана if [-z "$ {COLUMNS}"]; тогда
COLUMNS = $ (размер stty) COLUMNS = $ {COLUMNS ## *}
fi
# При использовании удаленных подключений, таких как последовательный порт, stty size возвращает 0 if ["$ {COLUMNS}" = "0"]; тогда
КОЛОННЫ = 80
fi
## Измерения для сообщений о результатах позиционирования COL = $ (($ {COLUMNS} - 8))
WCOL = $ (($ {COL} - 2))
## Команды установки положения курсора, используемые через echo SET_COL = "\\ 033 [$ {COL} G" # в $ COL char SET_WCOL = "\\ 033 [$ {WCOL} G" # в $ WCOL char CURS_UP = "\\ 033 [1A \\ 033 [0G" # На одну строку вверх, с нулевым символом CURS_ZERO = "\\ 0 [033G»
################################################## ##############################
# start_daemon () #
# Использование: start_daemon [-f] [-n nicelevel] [-p pidfile] путь [аргументы ...] #
# #
# Назначение: запускает указанную программу как демон #
# #

# Входные данные: -f: (принудительно) запустить программу, даже если она уже запущена. #
# -n nicelevel: указать хороший уровень. См. "Приятный человек (1)". #
# -p pidfile: использовать указанный файл для определения идентификаторов PID. #
# pathname: полный путь к указанной программе #
# args: программе передаются дополнительные аргументы (путь) #
# #
# Возвращаемые значения (как определено кодами выхода LSB): #
# 0 - программа запущена или служба в порядке #
# 1 - общая или неопределенная ошибка #
# 2 - недопустимый или чрезмерный аргумент (ы) #
# 5 - программа не устанавливается #
################################################## ##############################
start_daemon ()
{
local force = "" local nice = "0" local pidfile = "" local pidlist = "" local retval = ""
# Обрабатывать аргументы, пока истинно
do
case "$ {1}" в
-е)
force = "1" сдвиг 1
;;
-н)
nice = "$ {2}" смена 2
;;
-п)
pidfile = "$ {2}" смена 2
;;
- *)
вернуть 2
;;
сделанный
*)
ESAC
program = "$ {1}" перерыв
;;
# Проверить действующую программу
если [ ! -e "$ {программа}"]; затем верните 5; фи
# Выполнять
если [-z "$ {force}"]; тогда
если [-z "$ {pidfile}"]; тогда

# Определить pid по обнаружению pidlist = `pidofproc" $ {1} "` retval = "$ {?}"
еще
# Файл PID содержит необходимые PID
# Обратите внимание, что по требованию LSB путь должен быть указан к pidofproc,
# однако он не используется текущей реализацией или стандартом. pidlist = `pidofproc -p" $ {pidfile} "" $ {1} "`
retval = "$ {?}"
fi
# Вернуть ТОЛЬКО значение
# Это ответственность сценария инициализации (или функций распределения)
# для записи сообщений! case "$ {retval}" в
0)
# Программа уже работает правильно, это
# успешный старт. возврат 0
;;
1)
# Программа не запущена, но существует недопустимый файл pid
# удалить файл pid и продолжить rm -f "$ {pidfile}"
;;
3)
# Программа не запущена и файл pidfile не существует
# здесь ничего не делаем, пусть start_deamon продолжит работу.
;;
*)
ESAC
fi
# Остальные, возвращаемые значениями статуса, не должны интерпретироваться
# и возвращается как неопределенная ошибка. возврат 1
;;
# Сделай начало!
nice -n "$ {nice}" "$ {@}"
}
################################################## ##############################
# killproc () #
# Использование: killproc [-p pidfile] путь [сигнал] #
# #
# Цель: отправлять управляющие сигналы запущенным процессам #
# #
# Входные данные: -p pidfile, использует указанный pidfile #
# путь, путь к указанной программе #
# сигнал, отправьте этот сигнал по пути #
# #
# Возвращаемые значения (как определено кодами выхода LSB): #
# 0 - программа (путь) остановлена / уже остановлена или #

# | запущенная программа была отправлена указанным | сигнал и | остановившийся | # | |
# | успешно | # | |||
# | 1 | - общая или неопределенная ошибка | # | ||
# | 2 | - неверный или чрезмерный аргумент (ы) | # | ||
# | 5 | - программа не установлена | # | ||
# | 7 | - программа не запущена и был получен сигнал | поставляется | # |
################################################## ##############################
killproc ()
{
локальный файл pidfile локальная программа локальный префикс локальное имя программы
local signal = "- TERM" local fallback = "- KILL" local nosig
локальный список pidlist локальный retval локальный pid
local delay = "30" местный piddead local dtime
# Обрабатывать аргументы, пока истинно; делать
case "$ {1}" в
-п)
pidfile = "$ {2}" смена 2
;;
*)
program = "$ {1}"
если [-n "$ {2}"]; затем signal = "$ {2}" fallback = ""
еще
nosig = 1
fi
# Ошибка дополнительных аргументов if [-n "$ {3}"]; тогда
вернуть 2
еще
перерыв
сделанный
fi
;;
ESAC
# Проверить действующую программу
если [ ! -e "$ {программа}"]; затем верните 5; фи
# Проверить действительный сигнал check_signal "$ {signal}"
если ["$ {?}" -ne "0"]; затем верните 2; фи

# Получить список pid
если [-z "$ {pidfile}"]; тогда
# определить pid по обнаружению pidlist = `pidofproc" $ {1} "` retval = "$ {?}"
еще
# Файл PID содержит необходимые PID
# Обратите внимание, что по требованию LSB путь должен быть указан к pidofproc,
# однако он не используется текущей реализацией или стандартом. pidlist = `pidofproc -p" $ {pidfile} "" $ {1} "`
retval = "$ {?}"
fi
# Вернуть ТОЛЬКО значение
# Это ответственность сценария инициализации (или функций распределения)
# для записи сообщений! case "$ {retval}" в
0)
# Программа работает правильно
# Здесь ничего не делайте, позвольте killproc продолжить.
;;
1)
# Программа не запущена, но существует недопустимый файл pid
# Удалить файл pid. rm -f "$ {pidfile}"
# Это успех только в том случае, если не было передано никакого сигнала. если [-n "$ {nosig}"]; тогда
вернуть 0
еще
вернуть 7
fi
;;
3)
# Программа не запущена и файл pidfile не существует
# Это успех только в том случае, если не было передано никакого сигнала. если [-n "$ {nosig}"]; тогда
вернуть 0
еще
вернуть 7
fi
;;
*)
ESAC
# Остальные, возвращаемые значениями статуса, не должны интерпретироваться
# и возвращается как неопределенная ошибка. возврат 1
;;
# Выполнение различных действий для сигналов выхода и сигналов управления check_sig_type "$ {signal}"
если ["$ {?}" -eq "0"]; then # Сигнал используется для завершения программы

# Учетная запись для пустого списка pidlist (файл pid все еще существует и нет
Был подан # сигнал)
если ["$ {pidlist}"! = ""]; тогда
# Убить список pid для pid в $ {pidlist}; делать
kill -0 "$ {pid}" 2> / dev / null если ["$ {?}" -ne "0"]; тогда
# Процесс мертв, переходите к следующему и предполагайте, что все в порядке, продолжить
еще
kill "$ {сигнал}" "$ {pid}" 2> / dev / null
# Подождите до $ {delay} / 10 секунд, чтобы "$ {pid}"
# оканчиваются через 10 долей секунды
в то время как ["$ {delay}" -ne "0"]; делать
kill -0 "$ {pid}" 2> / dev / null || piddead = "1" если ["$ {piddead}" = "1"]; затем перерыв; фантастический сон 0.1
delay = "$ (($ {задержка} - 1))"
сделанный
# Если задан запасной вариант, а программа все еще работает, то
# использовать запасной вариант
если [-n "$ {резерв}" -a "$ {piddead}"! = "1"]; затем убейте "$ {fallback}" "$ {pid}" 2> / dev / null
спать 1
# Проверьте еще раз и завершитесь неудачно, если все еще выполняется kill -0 "$ {pid}" 2> / dev / null && return 1
fi
fi
сделанный
fi
# Проверить и удалить устаревшие файлы PID. если [-z "$ {pidfile}"]; тогда
# Найдите базовое имя $ program
prefix = `echo" $ {program} "| sed 's / [^ /] * $ //' `progname =` echo "$ {program}" | sed "s @ $ {префикс} @@" `
если [-e "/var/run/${progname}.pid"]; тогда
rm -f "/var/run/${progname}.pid" 2> / dev / null
fi
еще
если [-e "$ {pidfile}"]; затем rm -f "$ {pidfile}" 2> / dev / null; фи
fi
# Для сигналов, которые не ожидают выхода программы, просто
# пусть kill выполняет свою работу и оценивает отдачу от kill для значения
else # check_sig_type - сигнал не используется для завершения программы для pid в $ {pidlist}; делать
kill "$ {signal}" "$ {pid}"

если ["$ {?}" -ne "0"]; затем верните 1; фи
сделанный
fi
}
################################################## ##############################
# pidofproc () #
# Использование: pidofproc [-p pidfile] путь #
# #
# Цель: эта функция возвращает один или несколько pid (ов) для определенного демона #
# #
# Входные данные: -p pidfile, использовать указанный pidfile вместо pidof #
# путь, путь к указанной программе #
# #
# Возвращаемые значения (как определено кодами состояния LSB): #
# 0 - Успех (от PID до стандартного вывода) #
# 1 - Программа мертва, файл PID все еще существует (оставшиеся выходные данные PID) #
# 3 - Программа не запущена (нет вывода) #
################################################## ##############################
pidofproc ()
{
локальный файл pidfile локальная программа локальный префикс локальное имя программы локальный список pidlist локальные идентификаторы lpid
местный exitstatus = "0"
# Обрабатывать аргументы, пока истинно; делать
case "$ {1}" в
-п)
pidfile = "$ {2}" смена 2
;;
*)
program = "$ {1}"
если [-n "$ {2}"]; тогда
# Слишком много доводов
# Так как это статус, вернуть unknown return 4
еще
перерыв
сделанный
fi
;;
ESAC
# Если файл PID не указан, попробуйте найти его. если [-z "$ {pidfile}"]; тогда
# Получить базовое имя программы
prefix = `echo" $ {program} "| sed 's / [^ /] * $ //' `if [-z" $ {prefix} "]; тогда

progname = "$ {program}" еще
progname = `echo" $ {program} "| sed "s @ $ {префикс} @@" `
fi
# Если существует файл PID с таким именем, предположим, что это он. если [-e "/var/run/${progname}.pid"]; тогда
pidfile = "/ var / run / $ {progname} .pid"
fi
fi
# Если файл PID установлен и существует, используйте его.
если [-n "$ {pidfile}" -a -e "$ {pidfile}"]; тогда
# Используйте значение в первой строке pidfile pidlist = `/ bin / head -n1" $ {pidfile} "`
# При желании это можно записать как 'sed 1q' для замены 'head -n1'
# следует LFS переместить / bin / head в / usr / bin / head
еще
# Используйте pidof
pidlist = `pidof" $ {программа} "`
fi
# Выяснить, все ли перечисленные PID работают. для pid в $ {pidlist}; делать
kill -0 $ {pid} 2> / dev / null
если ["$ {?}" -eq "0"]; затем lpids = "$ {lpids} $ {pid}"
еще
exitstatus = "1"
fi
сделанный
если [-z "$ {lpids}" -a! -f "$ {pidfile}"]; затем верните 3
еще
эхо "$ {lpids}"
вернуть "$ {exitstatus}"
fi
}
################################################## ##############################
# statusproc () #
# Использование: statusproc [-p pidfile] путь #
# #
# Назначение: эта функция выводит статус конкретного демона на стандартный вывод #
# #
# Входные данные: -p pidfile, использовать указанный pidfile вместо pidof #
# путь, путь к указанной программе #
# #
# Возвращаемые значения: #
# 0 - Статус напечатан #
# 1 - Ошибка ввода. Демон для проверки не указан. #
################################################## ##############################
statusproc ()
{

локальный pidfile локальный список pidlist
если ["$ {#}" = "0"]; тогда
echo "Использование: statusproc [-p pidfle] {program}" выход 1
fi
# Обрабатывать аргументы, пока истинно; делать
case "$ {1}" в
-п)
pidfile = "$ {2}" смена 2
;;
*)
если [-n "$ {2}"]; тогда
echo "Слишком много аргументов" возвращает 1
еще
перерыв
сделанный
fi
;;
ESAC
если [-n "$ {pidfile}"]; затем pidlist = `pidofproc -p" $ {pidfile} "$ @`
еще
pidlist = `pidofproc $ @`
fi
# Обрезать конечные пробелы
pidlist = `echo" $ {pidlist} "| sed -r 's / + $ //' `base =" $ {1 ## * /} "
если [-n "$ {список pidlist}"]; тогда
/ bin / echo -e "$ {INFO} $ {base} работает с идентификаторами процесса" \ "$ {pidlist}. $ {NORMAL}"
еще
если [-n "$ {base}" -a -e "/var/run/${base}.pid"]; тогда
/ bin / echo -e "$ {WARNING} $ {1} не запущен, но существует" \ "/var/run/${base}.pid. $ {NORMAL}"
еще
если [-n "$ {pidfile}" -a -e "$ {pidfile}"]; тогда
/ bin / echo -e "$ {WARNING} $ {1} не запущен" \ ", но $ {pidfile} существует. $ {NORMAL}"
еще
/ bin / echo -e "$ {INFO} $ {1} не запущен. $ {NORMAL}"
fi
fi
fi
}

################################################## ##############################
# timespec () #
# #
# Назначение: внутренняя служебная функция для форматирования метки времени #
# файл журнала загрузки. Устанавливает переменную STAMP. #
# #
# Возвращаемое значение: не используется #
################################################## ##############################
время ()
{
STAMP = "$ (echo` date + "% b% d% T%: z" `` hostname`) "вернуть 0
}
################################################## ##############################
# log_success_msg () #
# Использование: log_success_msg ["сообщение"] #
# #
# Цель: вывести на экран сообщение об успешном статусе и #
# файл журнала загрузки. #
# #
# Входные данные: $ @ - Сообщение #
# #
# Возвращаемые значения: не используются #
################################################## ##############################
log_success_msg ()
{
/ bin / echo -n -e "$ {BMPREFIX} $ {@}"
/ bin / echo -e "$ {CURS_ZERO} $ {SUCCESS_PREFIX} $ {SET_COL} $ {SUCCESS_SUFFIX}"
# Удалить непечатаемые символы из файла журнала logmessage = `echo" $ {@} "| sed 's / \\\ 033 [^ a-zA-Z] *. // g'`
время
/ bin / echo -e "$ {STAMP} $ {logmessage} OK" >> $ {BOOTLOG}
вернуть 0
}
log_success_msg2 ()
{
/ bin / echo -n -e "$ {BMPREFIX} $ {@}"
/ bin / echo -e "$ {CURS_ZERO} $ {SUCCESS_PREFIX} $ {SET_COL} $ {SUCCESS_SUFFIX}" echo "ОК" >> $ {BOOTLOG}
вернуть 0
}
################################################## ##############################
# log_failure_msg () #
# Использование: log_failure_msg ["сообщение"] #
# #
# Цель: вывести на экран сообщение о состоянии отказа и #
# файл журнала загрузки. #
# #
# Входные данные: $ @ - Сообщение #

# #
# Возвращаемые значения: не используются #
################################################## ##############################
log_failure_msg ()
{
/ bin / echo -n -e "$ {BMPREFIX} $ {@}"
/ bin / echo -e "$ {CURS_ZERO} $ {FAILURE_PREFIX} $ {SET_COL} $ {FAILURE_SUFFIX}"
# Убрать непечатаемые символы из времени файла журнала
logmessage = `echo" $ {@} "| sed 's / \\\ 033 [^ a-zA-Z] *. // g'`
/ bin / echo -e "$ {STAMP} $ {logmessage} FAIL" >> $ {BOOTLOG}
вернуть 0
}
log_failure_msg2 ()
{
/ bin / echo -n -e "$ {BMPREFIX} $ {@}"
/ bin / echo -e "$ {CURS_ZERO} $ {FAILURE_PREFIX} $ {SET_COL} $ {FAILURE_SUFFIX}" echo "FAIL" >> $ {BOOTLOG}
вернуть 0
}
################################################## ##############################
# log_warning_msg () #
# Использование: log_warning_msg ["сообщение"] #
# #
# Цель: вывести на экран предупреждающее сообщение о статусе и #
# файл журнала загрузки. #
# #
# Возвращаемые значения: не используются #
################################################## ##############################
log_warning_msg ()
{
/ bin / echo -n -e "$ {BMPREFIX} $ {@}"
/ bin / echo -e "$ {CURS_ZERO} $ {WARNING_PREFIX} $ {SET_COL} $ {WARNING_SUFFIX}"
# Удалить непечатаемые символы из файла журнала logmessage = `echo" $ {@} "| sed 's / \\\ 033 [^ a-zA-Z] *. // g'` время
/ bin / echo -e "$ {STAMP} $ {logmessage} WARN" >> $ {BOOTLOG}
вернуть 0
}
log_skip_msg ()
{
/ bin / echo -n -e "$ {BMPREFIX} $ {@}"
/ bin / echo -e "$ {CURS_ZERO} $ {SKIP_PREFIX} $ {SET_COL} $ {SKIP_SUFFIX}"
# Удалить непечатаемые символы из файла журнала logmessage = `echo" $ {@} "| sed 's / \\\ 033 [^ a-zA-Z] *. // g'`
/ bin / echo "ПРОПУСТИТЬ" >> $ {BOOTLOG}

вернуть 0
}
################################################## ##############################
# log_info_msg () #
# Использование: сообщение log_info_msg #
# #
# Цель: вывести на экран информационное сообщение и #
# файл журнала загрузки. Не печатает завершающий символ новой строки. #
# #
# Возвращаемые значения: не используются #
################################################## ##############################
log_info_msg ()
{
/ bin / echo -n -e "$ {BMPREFIX} $ {@}"
# Удалить непечатаемые символы из файла журнала logmessage = `echo" $ {@} "| sed 's / \\\ 033 [^ a-zA-Z] *. // g'` время
/ bin / echo -n -e "$ {ПЕЧАТЬ} $ {logmessage}" >> $ {БУТЛОГ}
вернуть 0
}
log_info_msg2 ()
{
/ bin / echo -n -e "$ {@}"
# Удалить непечатаемые символы из файла журнала logmessage = `echo" $ {@} "| sed 's / \\\ 033 [^ a-zA-Z] *. // g'`
/ bin / echo -n -e "$ {logmessage}" >> $ {BOOTLOG}
вернуть 0
}
################################################## ##############################
# оценить_retval () #
# Использование: оценить возвращаемое значение и, при необходимости, распечатать успех или неудачу #
# #
# Назначение: функция удобства для завершения информационного сообщения #
# #
# Возвращаемые значения: не используются #
################################################## ##############################
оценить_retval ()
{
local error_value = "$ {?}"
если [$ {error_value} = 0]; затем log_success_msg2
еще
log_failure_msg2
fi
}
################################################## ##############################
# check_signal () #

# Использование: check_signal [- {signal} | {signal}] #
# #
# Цель: Проверить наличие действительного сигнала. Это не определяется каким-либо черновиком LSB, #
# однако необходимо проверить сигналы, чтобы определить, #
# выбранные сигналы являются недопустимыми аргументами для других функций. #
# #
# Входы: принимает одно строковое значение в форме или - {сигнал} или {сигнал} #
# #
# Возвращаемые значения: #
# 0 - Успех (сигнал действителен #
# 1 - сигнал недействителен #
################################################## ##############################
check_signal ()
{
местный валсиг
# Добавить обработку ошибок для недопустимых сигналов
valsig = "- ALRM -HUP -INT -KILL -PIPE -POLL -PROF -TERM -USR1 -USR2" valsig = "$ {valsig} -VTALRM -STKFLT -PWR -WINCH -CHLD -URG -TSTP -TTIN" valsig = "$ {valsig} -TTOU -STOP -CONT -ABRT -FPE -ILL -QUIT -SEGV -TRAP" valsig = "$ {valsig} -SYS -EMT -BUS -XCPU -XFSZ -0-1-2-3 - 4-5-6-8-9 "
valsig = "$ {valsig} -11-13-14-15"
эхо "$ {valsig}" | grep - "$ {1}"> / dev / null если ["$ {?}" -eq "0"]; тогда
вернуть 0
еще
вернуть 1
fi
}
################################################## ##############################
# check_sig_type () #
# Использование: check_signal [- {signal} | {signal}] #
# #
# Цель: Проверить, является ли сигнал сигналом завершения программы или управляющим сигналом #
# Это не определено ни в одном из проектов LSB, но требуется, чтобы #
# проверяем сигналы, чтобы определить, предназначены ли они для завершения #
# программу или просто управлять ею. #
# #
# Входы: принимает одно строковое значение в форме или - {сигнал} или {сигнал} #
# #
# Возвращаемые значения: #
# 0 - сигнал используется для завершения программы #
# 1 - сигнал используется для программного управления #
################################################## ##############################
check_sig_type ()
{
местный валсиг
# Список сигналов завершения (ограничен обычно используемыми элементами) valsig = "- ALRM -INT -KILL -TERM -PWR -STOP -ABRT -QUIT -2-3-6-9-14-15"
эхо "$ {valsig}" | grep - "$ {1}"> / dev / null если ["$ {?}" -eq "0"]; тогда
вернуть 0
еще
вернуть 1
fi
}
################################################## ##############################
# wait_for_user () #
# #
# Цель: дождаться ответа пользователя, если не обезглавленная система #
# #
################################################## ##############################
wait_for_user ()
{
# Ждать пользователя по умолчанию
["$ {HEADLESS = 0}" = "0"] && прочтите ENTER
вернуть 0
}
################################################## ##############################
# правда() #
# #
# Назначение: Утилита для проверки истинности переменной | да | 1 #
# #
################################################## ##############################
правда()
{
["$ 1" = "1"] || ["$ 1" = "да"] || ["$ 1" = "true"] || ["$ 1" = "y"] || ["$ 1" = "т"]
}
# Конец / lib / lsb / init-functions
вернуть 0
еще
вернуть 1
fi
}
################################################## ##############################
# wait_for_user () #
# #
# Цель: дождаться ответа пользователя, если не обезглавленная система #
# #
################################################## ##############################
wait_for_user ()
{
# Ждать пользователя по умолчанию
["$ {HEADLESS = 0}" = "0"] && прочтите ENTER
вернуть 0
}
################################################## ##############################
# правда() #
# #
# Назначение: Утилита для проверки истинности переменной | да | 1 #
# #
################################################## ##############################
правда()
{
["$ 1" = "1"] || ["$ 1" = "да"] || ["$ 1" = "true"] || ["$ 1" = "y"] || ["$ 1" = "т"]
}
# Конец / lib / lsb / init-functions


: Джерард Бикманс - [электронная почта защищена] диджей Лукас - [электронная почта защищена]
: Брюс Даббс - [электронная почта защищена]
: Джерард Бикманс - [электронная почта защищена] диджей Лукас - [электронная почта защищена]
: Брюс Даббс - [электронная почта защищена]
: ЛФС 7.0
: ЛФС 7.0
Mountvirtfs
Mountvirtfs
S
S
Документация