Арифметические выражения в цикле for

В

for (( expr1 ; expr2 ; expr3 )) ; do commands ; done

expr1 , expr2 и expr3 являются арифметическими выражениями.

  • Является expr1; expr2; expr3 не арифметическое выражение? ((expr1; expr2; expr3)) не является отдельной командой, поэтому я предполагаю expr1; expr2; expr3 не является арифметическим выражением. Обратите внимание, что expr1, expr2, expr3 является арифметическим выражением.

  • (( и )) в цикле for отличаются от (( и )) в команде ((3)) ?

  • Имеет ли ((expr1; expr2; expr3)) смысл только в цикле for? Или еще где?

-2
24.04.2016, 23:45
1 ответ

выражение1 ; выражение2 ; expr3 не является арифметическим выражением, поскольку ; не является возможным оператором в арифметических выражениях, как вы можете видеть, прочитав синтаксис арифметических выражений в руководстве по bash .

Синтаксис цикла for дает форму for (( expr1 ; expr2 ; expr3 )); выполнить команды ; done с точкой с запятой. Таким образом, бит ((…)) - это не то же самое, что арифметическая инструкция , которая не начинается с для .

(( expr1 ; expr2 ; expr3 )) является частью синтаксиса цикла for . Это только допустимая синтаксическая единица после для .

3
28.01.2020, 05:15

Теги

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