WikiDer > Истина и ложь (команды)
изначальный выпуск | Январь 1979 г. |
---|---|
Операционная система | Unix и Unix-подобный |
Тип | Команда |
В Unix-подобный операционные системы, правда
и ложный
- это команды, единственная функция которых - всегда возвращаться с заранее определенным статус выхода. Программисты и сценарии часто используют статус выхода команды для оценки успеха (нулевой статус выхода) или отказа (ненулевое значение) команды. В правда
и ложный
команды представляют логические значения успеха команды, потому что правда возвращает 0, а ложный возвращает 1.[Примечание 1]
Применение
Команды обычно используются в условные утверждения и петли из сценарии оболочки. Например, следующий сценарий оболочки повторяет эхо привет цикл до прерывания:
в то время как правдаделать эхо Здравствуйтесделанный
Команды можно использовать для игнорирования успешной или неудачной последовательности других команд, как в примере:
сделать … && ложный
Настройка пользователя оболочка входа к ложный, в / etc / passwd, фактически запрещает им доступ к интерактивной оболочке, но их учетная запись может быть действительна для других служб, таких как FTP. (Несмотря на то что / sbin / nologin(при наличии) может быть более подходящим для этой цели, поскольку он печатает уведомление перед завершением сеанса.)
Программы не принимают "актуальных" параметров; в версии GNU стандартный параметр --Помогите
отображает сводку использования и --версия
отображает версию программы.
Нулевая команда
В правда команда иногда заменяется очень похожей нулевой командой,[1] записывается в виде одного двоеточия (:
). Нулевая команда встроенный в оболочку, и поэтому может быть более эффективным, если правда это внешняя программа (правда обычно является встроенной функцией оболочки). Мы можем переписать верхний пример, используя :
вместо того правда
:
в то время как :делать эхо Здравствуйтесделанный
Пустая команда может принимать параметры, которые игнорируются. Он также используется как безоперационный фиктивная команда для побочных эффектов, таких как присвоение значений по умолчанию для переменные оболочки сквозь $ {параметр: = слово}
форма расширения параметров.[2] Например, из башбаг, скрипт сообщения об ошибке для Баш:
: ${TMPDIR: = / tmp} : ${РЕДАКТОР=$ ДЕФЕДИТОР} : ${ПОЛЬЗОВАТЕЛЬ=${LOGNAME-`кто я`}}
Смотрите также
Заметки
- ^ Не путать с ценности истины из классическая логика: истина (1 или T) и ложь (0 или ⊥).
использованная литература
- ^ "Двоеточие", Базовые спецификации открытой группы, выпуск 7, IEEE std 1003.1-2008
- ^ Купер, Мендель (апрель 2011 г.), «Нулевая команда», Расширенное руководство по созданию сценариев на Bash, 6.3, Проект документации Linux, получено 2011-08-04
внешние ссылки
Викибук Руководство по Unix есть страница по теме: Команды |
- Единая спецификация UNIX, Выпуск 7 из Открытая группа : return true value - Справочник по командам и утилитам,
- Единая спецификация UNIX, Выпуск 7 из Открытая группа : return false value - Справочник по командам и утилитам,
Страницы руководства
- правда (1): Ничего не делать, успешно - GNU Coreutils Справка
- ложь (1): Ничего не делать, безуспешно - GNU Coreutils Справка
- правда (1): Вернуть истинное значение - FreeBSD страница руководства
- ложь (1): Вернуть ложное значение - FreeBSD страница руководства