代码1:
#!/bin/bash
#set -xv
s=0
for((i=1;i<=10;i++))
do
s=$[$s+$i]
done
echo $s
运行结果:
解释:
中括号:
前后有空格:表示条件判断
前后没有空格,表示运算式。
注意
赋值与判断是否相等的区别:
1:
$1=“1”
2:
赋值: s=“1”
代码2:
1)
#!/bin/bash
for i in $*
do
echo "she loves $i"
done
结果:
2)
#!/bin/bash
for i in $@
do
echo "she loves $i"
done
结果:
3)
#!/bin/bash
for i in "$@"
do
echo "she loves $i"
done
4)
#!/bin/bash
for i in "$*"
do
echo "she loves $i"
done
解释:
$@与$*
1:在没有双引号的时候,二者效果一样,都把用户输入的所以参数作为一个数组。
2:在有数组的时候,$*把用户输入的所有参数作为一个整体字符串,而不再是数组,甚至包括用户输入的空格。
#!/bin/bash
for i in '$*'
do
echo "she loves $i"
done
结果;