bash / shell脚本while语句

时间:2011-03-27 01:08:33

标签: bash shell

我是shell编程的新手......基本上我是新手,但我需要一个简单的脚本来做循环并执行一个PHP脚本。我尝试了以下内容:

!/bin/bash
i=0
 while[ i < 13 ]
  do
php /var/www/html/pos.php &
(( i++ ))
done

但由于某些原因,语法不好......我得到错误第4行:意外令牌附近的语法错误`do'

5 个答案:

答案 0 :(得分:2)

您需要在while和左括号[之间留出空格,并且需要将do放在单独的行或使用分号(这两个都是公平的)写循环时常见的错误)。此外,左括号[相当于支持-lt但不支持<的{​​{3}}:

function doStuff() {
  local counter=0
  while [ $counter -lt 10 ]
  do
     echo $counter
     let counter=$counter+1
  done
}
doStuff

OR

function doStuff() {
  local counter=0
  while [ $counter -lt 10 ] ; do
     echo $counter
     let counter=$counter+1
  done
}
doStuff

答案 1 :(得分:2)

!/bin/bash
i=0
while (( i < 13 ))
do
    php /var/www/html/pos.php &
    (( i++ ))
done

答案 2 :(得分:1)

看不到你的代码,但它应该是这样的

while [ $i -ne 3 ]
do
   echo "on number $i of 3"
   i=`expr $i + 1`
done

答案 3 :(得分:1)

我想你想做点什么:

i=0; while (($i<10)); do i=$((i+1)); echo $i; done

答案 4 :(得分:1)

或者,您可以使用for循环

for((i=1;i<=13;i++))
do
  php /var/www/html/pos.php &
done

因为for循环已经创建了你的计数器,所以你不必手动声明一个计数器。