linux中用shell脚本在nis环境中的/var/yp/src/group路径下添加group并判断是否复制原有group里的成员
时间: 2023-11-30 16:04:22 浏览: 101
判断文件是否存在的shell脚本代码
您好!针对您的问题,可以使用以下的shell脚本来添加group并判断是否复制原有group里的成员:
```bash
#!/bin/bash
# 输入要添加的group名称
read -p "请输入要添加的group名称:" group_name
# 检查group是否已经存在
if grep -q "^${group_name}:" /etc/group; then
echo "group ${group_name}已经存在!"
exit 1
fi
# 在/var/yp/src/group路径下添加group
echo "${group_name}:x:1000:" >> /var/yp/src/group
echo "成功添加group ${group_name}!"
# 判断是否复制原有group里的成员
read -p "是否复制原有group里的成员?[y/n] " copy_members
if [ "$copy_members" == "y" ]; then
# 复制原有group里的成员
old_group_members=$(awk -F ":" '/^old_group_name/{print $4}' /etc/group)
if [ -n "$old_group_members" ]; then
echo "$group_name:x:1000:$old_group_members" >> /var/yp/src/group
echo "已成功复制原有group ${old_group_name}的成员到group ${group_name}!"
else
echo "原有group ${old_group_name}没有成员,无需复制!"
fi
fi
# 重新生成NIS映射表
make -C /var/yp
echo "NIS映射表已更新!"
```
其中,`read`命令用于接收用户输入的group名称和是否需要复制原有group里的成员;`grep`命令用于检查group是否已经存在;`awk`命令用于获取原有group的成员列表;`make`命令用于重新生成NIS映射表。
注意,上述脚本中的`old_group_name`需要您自行替换为原有group的名称,同时需要确保您的系统已经正确配置了NIS环境。
阅读全文