4月21日Linux运维用户相关的添加,分组,修改权限等shell脚本开发第一天

4月21日运维用户相关的添加,分组,修改权限等shell脚本开发第一天

第一天主要实现前2个功能

​ 主要卡在了:

在这里插入图片描述

正确的写法如下,注意[]中的空格,要求很严格!!!

在这里插入图片描述

#!/bin/bash
# 先查看已经有的用户名

echo "请选择以下功能"
echo "//"

echo -e "功能一:批量注册添加新用户\n功能二:创建新组群,并向组群中添加用户\n功能三:修改用户组群 \n功能四:修改用户
权限 \n功能五:删除指定用户\n功能六:删除指定组群 "
read -p '请输入你想实现的功能代号(1 or 2 or 3 or 4 or 5 or 6):' choose
n="$choose"
case $n in
1) echo -e "你选择的操作是功能一,批量创建注册新用户\n__________________________________________"
new_user_name=()
echo "以下是已经注册过的用户名:"
cat /etc/passwd  # 目前先通过目测来检查已有的名称,等后期,直接智能差重
while true
do
  read -p '请输入新用户名称,或者输入q退出:' new_name
  echo "new_user=$new_name"
  if [ "$new_name" == "q" ]
     then break ;
  else
  useradd $new_name
  new_user_name+=("$new_name")
  fi
done

echo "新注册的用户如下:"
for q in "${new_user_name[@]}" ; do
   echo "$q"
done ;;
2) echo "你选择的操作是功能二:创建新组群,并向组群中添加用户"
read -p '请输入新组群名称:' g_name
g="$g_name"
groupadd $g
echo "创建成功,创建新组群后,所有组群名单如下:"
echo "__________________________________________________"
cat /etc/group
# 先查看已经有的用户名
echo "以下是已经存在的用户名单"
echo "__________________________________________________"
cat /etc/passwd

# 声明一个空列表来存储输入的用户名
input_name=()

# 循环输入
while true
do
    read -p '请输入你即将分组的用户名,或者输入q退出:' user
    echo "user=$user"
    if [ "$user" == "q" ]
       then break ;
    else
       input_name+=("$user")
    fi
# 将输入内容存入列表
done
# 基础功能,先把列表中的实现分组
read -p "是否将列表中所有用户都归组到$g组群(若继续操作请输入y):" yy
x="$yy"
echo "你的选择是$x"
if (("x"=="y"))
then  echo "okla"
   for i in "${input_name[@]}" ; do
       usermod -G $g $i
   done
else break
fi
echo -e "加入组群成功!\n以下是用户所属组群情况\n_____________________________________________"
for o in "${input_name[@]}" ; do
    groups $o
done ;;
esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值