三、 Shell编程(本题40分) 编写程序,查找系统中student开头的普通用户,如果发现,则删除账号,发现多少个,删除多少个 3.1 源码写在框体内。(字体Consolas,字号12): 3.2 要求代码可以执行两次或多次,程序操作不会出错。最后将结果截图。
时间: 2024-03-01 17:53:16 浏览: 18
以下是脚本的源代码:
```bash
#!/bin/bash
# 查找并删除以student开头的普通用户
for user in $(grep '^student:' /etc/passwd | cut -d':' -f1); do
if id "$user" &>/dev/null; then
echo "删除用户: $user"
userdel -r "$user"
fi
done
```
请将以上代码复制到一个名为`delete_student_users.sh`的文件中,并将其保存到您的计算机上任意位置。接下来,您需要打开终端并在终端中执行以下命令:
```bash
chmod +x delete_student_users.sh
```
这将允许您将脚本文件视为可执行文件。随后,您可以运行以下命令来执行脚本:
```bash
./delete_student_users.sh
```
每次运行脚本时,它都会遍历系统中以"student"开头的用户,并将它们删除。如果没有找到这样的用户,则脚本不会执行任何操作。
注:在执行脚本时,您需要以管理员身份运行终端。
相关问题
shell编程:将当前目录中文件msg中的内容发给当前所有的登录用户
可以使用以下shell脚本实现:
```
#!/bin/bash
# 获取当前登录用户
USERS=$(who | awk '{print $1}')
# 发送消息给每个用户
for USER in $USERS
do
echo "msg" | write $USER
done
```
将上述脚本保存为一个文件(例如send_msg.sh),然后在当前目录下执行该脚本即可。该脚本会获取当前登录的所有用户,并将当前目录中文件msg的内容发送给每个用户。注意,该脚本需要在root权限下执行才能正常发送消息。
linux系统中怎么用shell脚本写一个更改用户密码的命令
可以使用以下命令更改用户密码:
```
echo "new_password" | passwd --stdin username
```
其中,将 "new_password" 替换为新密码,"username" 替换为需要更改密码的用户的用户名。若要将此命令写入shell脚本,可以按照以下方式编写:
```
#!/bin/bash
echo "Please enter the username: "
read username
echo "Please enter the new password: "
read -s password
echo "$password" | passwd --stdin "$username"
echo "Password for user $username has been changed."
```
在终端中执行 chmod +x script.sh 命令给脚本赋予可执行权限,然后使用 ./script.sh 命令运行该脚本即可。