一、 循环控制语句

1. for循环语句

3.2.3 Shell脚本--循环控制语句_系统/运维

2. while循环语句

3.2.3 Shell脚本--循环控制语句_系统/运维_02

3. until 循环语句

3.2.3 Shell脚本--循环控制语句_Linux_03

条件为假,执行循环

二、 练习题

1. for 语句

① 分行打印各参数。

【提示】:体会$@、$*、“$@”、“$*”的区别

② 打印乘法表。

【提示】:结合算术运算(算术运算有三种方式$(())、let、expr)

③ 在系统中创建组students,然后创建若干个用户如s1、s2、s3…,指定这些用户的附加组是students。编写脚本logcreate.sh,在students组内的所有用户的家目录下创建文件log.txt。

【提示】:将shell变量的值传递给awk,需要使用-v选项。

④ 统计一个文件中,所有单词出现的频率。

【提示】:结合关联数组(declare -A)

2. while语句

① 在系统中批量添加5个用户,用户名为userN,N为1至5的数字。在添加前应该判断该用户是否已经存在,如果存在显示userN用户已存在,如果不存在添加后显示用户userN添加成功。(尝试使用for循环重写该脚本)

② 给参数指定的文件添加行号,用户执行该脚本时,只能附带一个参数,如果参数为零个或多个提示用户命令使用不当。(提醒:编写该脚本时,还应考虑用户参数指定的文件是否存在,如果不存在,也应该返回提示信息。)

③ 分行打印各参数。

【提示】:结合命令shift

④ 创建一个文件user.txt,文件内容是每行一个用户名,编写一个脚本,运行脚本后,包含在文件user.txt中的用户密码被初始化为“12345678”,且登录后需重新修改密码。

3. until语句

① 系统中批量添加5个用户,用户名为workN,N为1至5的数字。

② 等待某个文件生成,文件生成后给出提示。

③ 等待某个用户登录,登录后给出提示“用户XX登录”。