1)首先创建用户文件,添加用户名
vim users.txt
zhangsan
lisi
wangwu
2)创建创建用户脚本文件
vim useraddfor.sh
3) 编写批量创建用户的脚本
#!/bin/bash
ulist=$(cat /root/users.txt)
for uname in $ulist
do
useradd $uname
echo "123456" | passwd --stdin $uname &> /dev/null
done
4)执行脚本文件
. users.txt
扩展:
这里对 . 做出解释其实就是source的代替符号,用来执行脚本,测试脚本,如果要对脚本做出定时执行,和开机执行的话,还是需要添加执行权限(chmod +x 脚本名)
5)验证用户是否创建成功
cat /etc/passwd
2,根据IP地址列表检查主机状态(参考书122页)
1)首先创建用于测试的主机列表文件(ip地址自己根据情况定)
vim /root/ipadds.txt
192.168.1.1
192.168.1.10
192.168.1.100
127.0.0.1
2)创建文件脚本
vim /root/chkhosts.sh
3)编写批量检测主机脚本
#!/bin/bash
hlist=$(cat /root/ipadds.txt)
for ip in $hlist
do
ping -c 3 -i 0.2 -W 3 $ip &> /dev/null
if [ $? -eq 0 ]
then
echo "host $ip is up."
else
echo "host $ip is down."
fi
done
4)执行脚本
. chkhosts.sh
二、while****循环语句
1、批量添加和删除用户 创建一个20个用户,用户名前缀为stu(参考书124–125页)
1)创建脚本文件
vim uaddwhile.sh
2) 编写添加用户脚本
#!/bin/bash
NAMEADD="stu"
i=1
while [ $i -le 20 ]
do
useradd ${NAMEADD}$i
let i++
done
3)执行脚本创建用户
. uaddwhile.sh
4)查看创建是否创建成功
cat /etc/passwd
5)可以更改上面的创建用户脚本,将useradd改为userdel进行删除刚刚创建的用户
vim udelwhile.sh
6)我这里再创建一个文件以免有同学不理解
#!/bin/bash
NAMEDEL="stu"
i=1
while [ $i -le 20 ]
do
userdel -r ${NAMEDEL}$i
let i++
done
7)执行脚本文件删除用户
. udelwhile.sh
2、猜价格游戏(参考书125–126页)
1)创建猜游戏价格游戏文件
vim pricegame.sh
2) 编写猜价格游戏脚本
#!/bin/bash
price=$(expr $RANDOM % 1000)
times=0
echo "商品实际价格范围为0--999,猜猜看是什么?"
while true
do
read -p "猜输入你猜测的价格数目:" int
let times++
if [ $int -eq $price ] ; then
echo "恭喜你答对了,实际价格是$price"
echo "你总共猜了${times}次"
exit 0
elif [ $int -gt $price ] ; then
echo "太高了!"
else
echo "太低了"
fi
done
3)执行脚本测试
chmod +x pricegame.sh
./gricegame.sh
三、case****分支语句
1、检查用户输入的字符类型(参考书128页)
1)创建脚本文件
vim hitkey.sh
2)编写脚本内容
#!/bin/bash
read -p "请输入一个字符,并按回车键确认:" key
case "$key" in
[a-Z]|[A-Z])
echo "您输入的是字母."
;;
[0-9])
echo "您输入的是数字."
;;
*)
echo "您输入的是空格,功能键,或者其他字符."
esac
3)执行脚本测试
. hitkey.sh
2,编写系统服务脚本(参考书129页)
1)创建脚本文件
vim mygroq
2)编写系统服务脚本
#!/bin/bash
case "$1" in
start)
echo -n "正在启动sleep服务..."
if sleep 7200 &
then
echo "OK"
fi
;;
stop)
echo -m "正在停止sleep服务..."
pkill "sleep" &> /dev/null
echo "OK"
;;
status)
if pgrep "sleep" &> /dev/null ; then
echo "sleep服务已经启动."
else
echo "sleep服务已经停止"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "用法:$0 {start|stop|status|restart}"
esac
3) 执行脚本文件测试
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK
“用法:$0 {start|stop|status|restart}”
esac
3) 执行脚本文件测试
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
[外链图片转存中...(img-9fIa0Mc7-1724632616558)]
给大家整理的电子书资料:
[外链图片转存中...(img-2mnxSl2S-1724632616559)]
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK