15

こんにちは、本文ループを空にしたいと思います。ループカウンターをインクリメントしたいだけなので、IO操作なしでCPUをビジー状態に保ちたいです。ここに私が書いたものがありますが、エラーが発生します:

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


root@ubuntu:~# ./forLoop
./forLoop: line 4: syntax error near unexpected token `done'
./forLoop: line 4: `done'
4

4 に答える 4

31

ループ本体に少なくとも 1 つのコマンドを指定する必要があります。

このような目的に最適なコマンドはコロン:であり、一般的にノーオペレーション シェル コマンドとして使用されます。

于 2012-07-15T09:22:47.170 に答える
4

trueorのように、ループ内に no op コマンドを入れることができますfalse(それぞれ、成功または失敗した場合は何もしません)。

これはタイトなループになり、CPU を焼き尽くします。寒い朝にコンピューターを暖めたい場合を除きi=1000000、ループと同じ効果が得られます。

あなたが達成しようとしていることは何ですか?

于 2012-07-15T09:21:41.477 に答える
1
#!/bin/bash
let i=0 
while [[ $i -le 1000000 ]]; do
  let i++ 
done
于 2012-07-15T09:22:41.333 に答える
0

sleep xx秒遅らせたい場合に使用できます。

于 2012-07-15T09:24:19.407 に答える