1.for循环
语法:
for 变量 in 容器
do(换行)
循环体
done
举例:
不行# 遍历字符串. (for 循环是不能够依次获取字符串每一个元素)。下面例子中只能打印出一个hello world
for char in "hello word"
do
echo 循环体char: ${char}
done
可以# 遍历数组
arr1=(10 20 "abc")
for x in ${arr1[@]}
do
echo 循环体2x: ${x}
done
可以# 遍历用空格或者换行隔开的多个值
for x in 10 20 "你好" 123
do
echo 循环体3:${x}
done
```
练习:
# 设置目录的路径
user_home="/root"
# set count
file_count=0
# 来个for循环
for file in "$user_home"/*
do
if [ -f "$file" ]
then
# 计数器+1
((file_count++))
fi
done
# 打印结果
echo "用户根目录下文件个数: $file_count"
while循环
while 条件语句
do
循环体
done
例子:
# 遍历字符串
str1="helloWorld!"
index=0
len=${#str1}
while [ $index -lt $len ]
do
echo ${str1:${index}:1}
index=`expr ${index} + 1`
done
# 计算1+2+3+...+100
num=1
sum=0
while [ ${num} -le 100 ]
do
sum=`expr ${sum} + ${num}`
num=`expr ${num} + 1`
done
echo 1+2+3+...+100 = ${sum}
变量 = input(输入提示信息)
read -p 输入提示信息 变量名
# 死循环
while true
do
read -p "请输入一个数字:" num
if [ ${num} == 100 ]
then
break
fi
done
``
将指令结果转成数组