案例
- 案例一:从标椎输入输入n次字符串,,每次输出的字符串保存在数组array里
[root@bogon ~]# vim shuzu.sh
#! /bin/bash
i=0
read -p "请输入次数" n
while [ $i -lt $n ]
do
echo "请输入字符串!"
read -p array[$i]=
b=${array[$i]}
echo "$b"
i=`expr $i + 1`
done
- 案例二:将字符串里的字符串逐个放入数组,并将输出到标椎输出。
#! /bin/bash
read -p "请输入一串字符串:" chars
for ((i=0;i<=${#chars};i++))
do
array[$i]=${chars:$i:1}
echo ${array[$i]}
done
结果:
root@bogon ~]# vim shuzu2.sh
[root@bogon ~]# chmod +x shuzu2.sh
[root@bogon ~]# ./shuzu2.sh
请输入一串字符串:abcd
a
b
c
d
案例三
- 编写脚本输入一些数,将这些数的最大最小找出,并求出所有数的和。
#! /bin/bash
read -a num -p "请输入一些整数:"
if [ ${#num[@]} -lt 2 ] #判断数组元素的个数
then
echo "至少应该输入两个整数以上..."
exit 5
fi
for i in ${num[@]}
do
if [[ ! $i =~ ^[0-9]+$ ]]
then
echo "输入错误,请重新输入"
exit 5
fi
done
echo ${num[@]} | sort -nr
max=${num[0]}
min=${num[0]}
for i in ${num[@]}
do
let sum+=i
if [ $i -gt $max ]
then
max=$i
fi
if [ $i -lt $min ]
then
min=$i
fi
done
echo "sum=$sum,max=$max,min=$min"
结果:
[root@bogon ~]# vim shuzu3.sh
[root@bogon ~]# ./shuzu3.sh
请输入一些整数:2 3 4
2 3 4
sum=9,max=4,min=2