"while:" vs. "while true"
Когда вы смотрите, как бесконечные циклы должны быть реализованы, вы в основном видите этот подход:
while :
do
# loop infinitely
done
Но я просто не понимаю использование :
здесь. Не лучше ли использовать:
while true
do
# loop infinitely
done
?
Ответы
Ответ 1
из руководства:
: [аргументы] Нет эффекта; команда ничего не делает за пределами расширения аргументов и выполнения каких-либо заданных переназначения. Возвращается нулевой код возврата.
Так как это всегда возвращает ноль, значит, он аналогичен используемому как true
Отметьте этот ответ: Какова цель`: '(двоеточия) GNU Bash Builtin?
Ответ 2
Двоеточие - это встроенная команда, которая ничего не делает, но возвращает 0 (успех). Таким образом, он короче (и быстрее), чем вызов фактической команды, чтобы сделать то же самое.