Истина и ложь (команды) - True and false (commands)
| изначальный выпуск | Январь 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
внешние ссылки
- : return true value - Справочник по командам и утилитам, Единая спецификация UNIX, Выпуск 7 из Открытая группа
- : return false value - Справочник по командам и утилитам, Единая спецификация UNIX, Выпуск 7 из Открытая группа
Страницы руководства
- правда (1): Ничего не делать, успешно - GNU Coreutils Справка
- ложь (1): Ничего не делать, безуспешно - GNU Coreutils Справка
- правда (1): Вернуть истинное значение - FreeBSD страница руководства
- ложь (1): Вернуть ложное значение - FreeBSD страница руководства