Между while и do в сценарии оболочки

Гуйчан?http://guichan.sourceforge.net/oldsite/about.shtml. Вероятно, существует еще множество графических интерфейсов, таких как guichan, которые не требуют X, например, picogui и т. д.

15
08.12.2019, 10:52
2 ответа

В качестве примера того, как это доведено до крайности, /usr/bin/tzselect обычно содержит около 70 строк кода между whileи doосновного цикла, который включает операторы case и подстановку команд, а также одна линия между doи done.

4
27.01.2020, 19:49

(в качестве примечания к другим ответам ).

Использование нескольких команд в списке условий часто используется для реализации цикла, аналогичного C do { blah; blah; } while (condition),именно здесь условие проверяется в конце цикла, поэтому код в цикле выполняется хотя бы один раз.

В shвы бы сделали это как:

while
  blah
  blah
  condition
do
  continue # or :
done

Хотя возможны и другие подходы, такие как:

while true; do
  blah
  blah
  condition || break
done

Или:

continue=true
while "$continue"; do
  blah
  blah
  condition || continue=false
done
end=false
until "$end"; do
  blah
  blah
  condition || end=true
done
2
27.01.2020, 19:49

Теги

Похожие вопросы