分页: 1 / 1
For循环求助(新手学循环)
发表于 : 2012-03-02 16:00
由 LU开拓者
#!/bin/bash
declare -i n=10
for((i=1;i<=$n;i++))
do
declare -i a=$n+$(n-1)
echo $a
done
echo "a="$a
运行结果:
./For.sh: 行 6: n-1: 未找到命令
./For.sh: 行 6: declare: 10+: 语法错误: 期待操作数 (错误符号是 "+")
a=
求大神指教

Re: For循环求助(新手学循环)
发表于 : 2012-03-02 18:25
由 zcf115
#!/bin/bash
declare -i n=10
for((i=1;i<=$n;i++))
do
declare -i a=$n+$(($n-1))
echo $a
done
echo "a="$a
Re: For循环求助(新手学循环)
发表于 : 2012-03-02 18:26
由 zcf115
declare -i a=$n+$(($n-1)) 注意这行。
Re: For循环求助(新手学循环)
发表于 : 2012-03-02 18:32
由 LU开拓者
zcf115 写了:#!/bin/bash
declare -i n=10
for((i=1;i<=$n;i++))
do
declare -i a=$n+$(($n-1))
echo $a
done
echo "a="$a
我执行起来还是有问题额
19
19
19
19
19
19
19
19
19
19
a=19
我想循环加起来的。。。
Re: For循环求助(新手学循环)
发表于 : 2012-03-02 18:37
由 LU开拓者
看下面这一段吧 还是全19....
#!/bin/bash
declare -i n=10
for((i=$n;i>=1;i--))
do
if [ i=10 ]
then
declare -i a=19
echo $a
else
declare -i m=$i-1
declare -i a=$i+$m+$a
echo $a
fi
done
echo "a="$a
Re: For循环求助(新手学循环)
发表于 : 2012-03-02 19:39
由 aerofox
n 一直没变,当然一直为19了。
代码: 全选
#!/bin/bash
n=10
a=0
for ((i=1; i<=n; i++))
do
((a += i ))
echo $a
done
echo "a="$a
Re: For循环求助(新手学循环)
发表于 : 2012-03-05 9:52
由 LU开拓者
((a += i ))这句不太懂额
Re: For循环求助(新手学循环)
发表于 : 2012-03-05 9:56
由 LU开拓者
a=a+i?
Re: For循环求助(新手学循环)
发表于 : 2012-03-05 12:57
由 aerofox
是这个意思,跟C语言一样呀,应该很好懂的。
不知你要的是不是这个结果。
Re: For循环求助(新手学循环)
发表于 : 2012-03-05 13:33
由 LU开拓者
明白了
