Пустое тело для Loop Linux Shell

Привет, я хочу написать и очистить цикл тела. Я просто хочу, чтобы счетчик циклов увеличивался, поэтому я хочу, чтобы процессор оставался занятым без какой-либо операции ввода-вывода. Вот что я написал, но это дает мне ошибку:

#!/bin/bash
for ((  i = 0 ;  i <= 1000000;  i++  ))
do
done


[email protected]:~# ./forLoop
./forLoop: line 4: syntax error near unexpected token `done'
./forLoop: line 4: `done'

Ответ 1

Вы должны указать хотя бы одну команду в теле цикла.

Лучший способ для таких целей - двоеточие :, обычно используемое в качестве no-op shell command.

Ответ 2

Вы можете поместить команду no op внутри цикла, например true или false (ничего не делать успешно или безуспешно).

Это будет жесткий цикл и сгорит CPU. Если вы не хотите прогревать свой компьютер в холодное утро, вы можете просто сказать i=1000000 и иметь тот же эффект, что и цикл.

Что вы пытаетесь достичь?

Ответ 3

#!/bin/bash
let i=0 
while [[ $i -le 1000000 ]]; do
  let i++ 
done

Ответ 4

Вы можете использовать sleep x, если вы хотите отложить за х секунд.