一、判断成绩分档
1.编写脚本
vim gradediv.sh
#! /bin/bash
read -p "请输入分数(0-100):" FS
if [ $FS -ge 85 ] && [ $FS -le 100 ];then
echo "$FS分! 优秀"
elif [ $FS -ge 70 ] && [ $FS -le 84 ];then
echo "$FS分,合格"
else
echo "$FS分?不合格"
fi
脚本的详细解释
读取用户输入
read -p "请输入分数(0-100):" FS
使用 read 命令从用户处读取输入。-p 选项允许我们提供一个提示字符串,告诉用户需要输入什么。这里,我们提示用户输入一个分数(0-100)。用户输入的分数将被存储在变量 FS 中。
判断分数范围并输出评价
优秀(85-100)
if [ $FS -ge 85 ] && [ $FS -le 100 ];then
echo "$FS分! 优秀"
$FS表示输入的值,这里使用了 if 语句来判断分数是否在 85 到 100 之间(包括 85 和 100)。-ge (greater or equal) 是“大于或等于”的意思,-le (lesser or equal)是“小于或等于”的意思。如果分数满足这个条件,则输出“优秀”。
不合格(0-69)
else
echo "$FS分?不合格"
fi
如果分数既不在 85 到 100 之间,也不在 70 到 84 之间,那么它必然在 0 到 69 之间(包括 0 和 69),因此输出“不合格”。fi 是 if 语句的结束标志。
2.加执行权限
chmod +x gradediv.sh
3.运行脚本
bash gradediv.sh
二、用while循环批量添加用户
1.编写脚本
vim uaddwhile.sh
#!/bin/bash
PREFIX="tuser"; i=1
while [ $i -le 5 ]
do
useradd ${PREFIX}$i
echo "123456" | passwd --stdin ${PREFIX}$i &> /dev/null
let i++
done
脚本的详细解释
PREFIX="tuser"; i=1
这一行是变量声明和初始化。PREFIX 被设置为字符串 "tuser"。i 被初始化为数字 1。
while [ $i -le 5 ]
这是一个while循环的开始。它会一直执行,直到变量 i 的值大于5。
[ $i -le 5 ] 是一个条件测试,检查 $i(当前迭代中的i的值)是否小于或等于5。
useradd ${PREFIX}$i
使用useradd命令来创建一个新用户,${PREFIX}$i 是一个变量扩展,它将PREFIX的值(即"tuser")与$i的当前值连接起来。例如,当i=1时,它会创建用户tuser1。
echo "123456" | passwd --stdin ${PREFIX}$i &> /dev/null
这行命令设置新用户的密码,echo "123456" 打印出密码字符串 "123456"。
| 是一个管道符号,它将echo命令的输出作为passwd命令的输入。
passwd --stdin ${PREFIX}$i 使用--stdin选项从标准输入读取密码,并尝试为${PREFIX}$i(例如tuser1)设置密码。
&> /dev/null,这个重定向确保passwd命令的任何输出(包括可能的错误消息)都不会显示在屏幕上,而是被丢弃到/dev/null中。
2.加执行权限
chmod +x uaddwhile.sh
3.运行脚本
bash uaddwhile.sh
4.查看结果
tail -5 /etc/passwd
可以看到创建了五个用户
成功!