Страницы

Поиск по вопросам

среда, 27 ноября 2019 г.

Что означает двоеточие в командах shell?


Иногда встречаю команду : (двоеточие) в командах sh, например:

: | echo "hello"


Команда выше успешно выполнится и отобразит hello.

Для команды : нет справочной страницы, а если попытаться узнать её путь с помощью which :, то получим 


  :: shell built-in command


Что означает это двоеточие и для чего оно используется?
    


Ответы

Ответ 1



справку об этой встроенной команде можно прочитать командой $ help : чаще всего эту команду можно встретить в таких конструкциях: как короткую и экономичную замену программе true: в бесконечных циклах: while :; do ... done вместо: while true; do ... done в рецептах makefile-ов, если требуется игнорировать ненулевой код возврата команды: команда_код_возврата_которой_не_важен || : вместо: команда_код_возврата_которой_не_важен || true или вместо: -команда_код_возврата_которой_не_важен когда надо передать вызываемой программе/команде пустую строку на её stdin: $ : | программа_ожидающая_получения_информации_на_stdin например: $ : | openssl s_client ...

Ответ 2



Двоеточие — это эквивалент операции "NOP" (no op, нет операции) (пустая команда) Может рассматриваться как синоним встроенной команды true. Команда : также является встроенной командой Bash, которая всегда возвращает true (0).

Комментариев нет:

Отправить комментарий