1.for循环
- for 变量名in 值列表
- do
- 命令序列
- done
2.while循环
- while 条件测试
- do
- 命令序列
- done
3.case分支
- case 变量值in
- 模式1)
- 命令序列1;;
- 模式2)
- 命令序列2;;
- ....
- *)
- 默认命令序列
- Esac
4.shell函数
- function 函数名{
- 命令序列
- ....
- }
或
- 函数名(){
- 命令序列
- ....
- }
5.shift迁移
shift操作用来迁移位置变量,比如执行 ./my.sh 10 20 30操作,则对于脚本mysum.sh来说,第一个位置变量$1的值为10、第二个位置变量$2的值为20、第三个位置变量$3的值为30。
若在脚本mysum.sh中执行一次shift操作,则$1的值变为20、$2的值变为30、$3的值为空。
再执行一次shift操作,则$1的值变为30、$2和$3的值都为空。
再执行一次shift操作,则$1、$2、$3的值都为空,相当于所有位置参数都丢弃了,位置参数的总个数为0。
6.echo red | passwd --stdin $name
解释:passwd --stdin $name是更改$name变量的密码,$name变量指代上面for循环的三个用户xp ,wrg, lct
加上--stdin是接受echo后面的字符串(red)做为密码,密码是red