我刚刚接触bash脚本并试图学习一些东西。这里是我试过的代码:while bash中的循环
n=$1
shift
echo "Printing your name $n times"
count=1
for ((i=1;i<=$n;i++))
do
echo [email protected] -$i
count='expr[$count+1]'
done
echo 'New Model'
count=1
while ["$count" -le "$n"]
do
echo [email protected] -$i
count='expr[$count+1]'
done
for循环工作正常,但while循环没有打印所需的结果。 for循环的结果和while应该是相同的。你能告诉我我哪里出了问题吗?谢谢。
的'['实际上是为'/ bin/test'链接(确定,在'bash'它是一个内置的,但这是它从何而来)。所以'''是一个词(就像'ls'),这就是为什么它需要空间。 – 2012-03-24 21:05:22
@BenJackson:我认为即使没有这些空间也是需要的;注意'[[''也需要空格,即使它*在其他方面是神奇的。 – ruakh 2012-03-24 21:07:24
嘿,非常感谢您的信息,但是我不明白的是count ='expr [$ count + 1]'在for循环中工作,但在while循环中没有工作,请问为什么?谢谢。 – surpavan 2012-03-25 05:31:12