目录
1.跳出循环
- break:跳出整个循环
- break概述:跳出当前整个循环或结束当前循环,在for、while等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,后面如果什么也不加,表示跳出当前循环等价于break 1,也可以在后面加数字,假设break 3表示跳出第三层循环
- continue:跳过本次循环,进行下次循环
- continue概述:忽略本次循环剩余的代码,直接进行下一次循环;在for、while等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,如果后面加的数字是1,表示忽略本次条件循环,如果是2的话,忽略下来2次条件的循环
示例1:写一个shell菜单,当按数字键4时退出,否则一直循环显示
break_continue.sh脚本:
运行结果:
示例2:
#!/bin/bash
while :
do
read -p "Please enter prefix & password & num:" pre pass num
printf "user information:
*********************
user prefix: $pre
user password: $pass
user number: $num
********************
"
read -p "Are you sure?[y/n] " action
if [ "$action" == "y" ];then
break
fi
done
for i in $(seq $num) # 从i =1开始,取到 $num 。 seq 表示 1-$num
#$(seq $num) 等于 ` seq $num ` ; $( 命令 ) ; ${ 变量 } ; [ 表达式/条件 ]
do
user=${pre}${i}
id $user &> /dev/null
if [ $? -ne 0 ];then
useradd $user
echo "$pass"|passwd --stdin $user &> /dev/null
if [ $? -eq 0 ];then
echo -e "\033[31m$user\033[0m creat" #以红色来显示用户名
fi
else
echo "user $user exist"
fi
done
运行结果:
2.Shift参数左移指令
shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本)
在扫描处理脚本程序的参数时,经常要用到的shift命令,如果你的脚本需要10个或10个以上的参数,你就需要用shift命令来访问第10个及其后面的参数
作用:每执行一次,参数序列顺次左移一个位置,$#的值减1,用于分别处理每个参数,移出去的参数,不再可用
示例:加法计算器