sh脚本删除user00-user19等20个用户
时间: 2023-12-23 21:05:21 浏览: 68
好的,您可以使用以下的 shell 脚本来删除 user00-user19 等 20 个用户:
```
#!/bin/bash
for i in {0..19}
do
user="user$(printf '%02d' $i)"
sudo deluser $user
done
```
该脚本会使用循环语句遍历 user00-user19 这 20 个用户名,并使用 `deluser` 命令删除这些用户。请确保您以管理员权限运行该脚本。
相关问题
请写一个互信脚本,要求实现以下命令模式sh sshUserSetup.sh -user gbase -hosts “10.0.0.31 10.0.0.32 10.0.0.33”
脚本通常用于自动化执行特定任务,例如SSH配置。以下是使用bash shell编写的一个简单的命令模式示例,它模拟了`sshUserSetup.sh`脚本,该脚本接受用户和主机列表作为参数:
```bash
#!/bin/bash
# 定义函数来处理用户的SSH设置
function ssh_user_setup() {
local user="$1"
shift # 移除第一个参数
local hosts=("$@") # 将剩余参数保存为数组
for host in "${hosts[@]}"; do
echo "Setting up SSH for user ${user} on host ${host}"
# 这里假设有一个实际的SSH操作,但此处仅打印信息
# 在生产环境中,这将连接到每个主机并执行相应的设置
# 例如:ssh ${user}@${host} some_ssh_config_command
done
}
# 检查是否传递了必要的参数
if [[ $# -lt 2 ]]; then
echo "Usage: $0 -user <username> -hosts <host1,host2,...>"
exit 1
fi
# 获取用户和主机列表参数
user=$1
hosts=("${2//,/ }") # 使用空格分隔符将第二个参数转换为数组
# 调用ssh_user_setup函数
ssh_user_setup "$user" "${hosts[@]}"
```
你可以通过下面的方式运行这个脚本:
```sh
./sshUserSetup.sh -user gbase -hosts "10.0.0.31 10.0.0.32 10.0.0.33"
```
请写一个互信脚本,要求实现以下命令模式sh sshUserSetup.sh -user gbase -hosts "10.0.0.31 10.0.0.32 10.0.0.33"
这是一个简单的bash shell脚本示例,使用了命令模式的概念,它接受用户信息和主机列表作为参数,并通过ssh命令执行用户设置操作。以下是对应的`sshUserSetup.sh`脚本:
```bash
#!/bin/bash
# 定义一个函数来执行具体的命令
execute_ssh_command() {
echo "正在为用户$1连接到主机列表:"
for host in "$2"
do
echo "SSHing to $host..."
# 使用命令替换实际的SSH命令
# 这里只是一个占位符,实际应用中需要添加真实的SSH命令,如:ssh $user@$host
ssh_user_setup "$host"
done
}
# 接收参数并调用相应功能
if [ $# -eq 3 ] && [ "$1" = "-user" ]; then
user="$2"
hosts="$3"
execute_ssh_command "$user" "$hosts"
else
echo "错误:请输入正确的参数格式 (-user 用户名 -hosts 主机列表)"
exit 1
fi
# 假设我们有一个名为ssh_user_setup的实际函数来处理用户的设置,这里仅做说明
# 如果存在该函数,你应该在这里调用它,比如:
# function ssh_user_setup() { ... }
# 没有实际的ssh_user_setup函数,所以脚本会结束
```
要使用这个脚本,你需要将`ssh_user_setup`函数替换为你实际的用于设置用户的SSH命令,然后运行如下命令:
```sh
./sshUserSetup.sh -user gbase -hosts "10.0.0.31 10.0.0.32 10.0.0.33"
```
阅读全文