script043
题目
添加 10 个用户 user1
到 user10
,但要求只有用户不存在的情况下才能添加。
分析
本题考查的知识点:
for
循环语句id
命令if...else
条件判断语句useradd
命令
思路:
- 循环数字 1 到 10 之间的所有整数。
- 根据数字拼接用户名
user1
、user2
等。 - 用
id
命令判断该用户是否存在,如果用户存在则输出提示信息;如果用户不存在则使用useradd
命令添加用户。
脚本
#!/bin/bash
####################################
#
# 功能:添加 10 个用户 user1 到 user10,但要求只有用户不存在的情况下才能添加。
#
# 使用:直接执行,不需要任何参数
#
####################################
# 循环 1 到 10
for (( i = 0; i <= 10; i++ )); do
# 拼接用户名
username="user${i}"
# 用 id 命令判断用户是否存在
id $username &> /dev/null
# 获取上一条命令的状态返回码
status_code=$?
# 判断状态返回码是否为零,如果为零则表示上一条命令正确执行,表示该用户已经存在于系统
if [ $status_code -eq 0 ]; then
echo "该用户 $username 已经存在!"
# 如果不为零则表示上一条命令不正确执行,表示该用户不存在,则需要添加用户
else
# 添加用户
useradd $username
# 打印信息
echo "添加用户 $username 成功!"
fi
done
测试
执行 ./script043.sh
调用脚本。