shell 简单的选择菜单脚本

本文介绍了一个用于管理SMB用户的Shell脚本。该脚本提供了添加、删除SMB用户的功能,并通过简单的菜单引导用户进行操作。
不少语言写的菜单脚本,不是太长了就是太乱了

以下就是简单的变量脚本

#!/bin/bash
function menu()													#显示菜单
{
    cat <<eof 
    
 *************************************
                 MENU                 

             1.新增SMB用户

             2.删除SMB用户

             0.exit


 *************************************"`
eof
}
function num()													#选项
{
    read -p "请输入您需要操作的项目: " number
    case $number in
        1)
            add
            ;;
        2)
            del
            ;;
        0)
            exit 0
            ;;

    esac
}
function add()												#第一个选项内容,可自行修改
{
    read -p "输入你要创建的用户名(英文): " name
	read -p "输入您要创建的密码: " passwd
	useradd $name
	path=`cat /etc/samba/smb.conf |grep "config file" |awk NR==2`
	echo "添加独立用户配置......"
	conf=`ls /etc/samba/$name.smb.conf -al|awk -F"[/.]" '{print $4}'`
	if [ "$conf" != "$name" ];then
	echo "
[$name]
        security = user
        path = /home/$name
        valid users = @$name
        read list = @$name
        write list = @$name
        writable = yes
        create mask = 0777
        directory mask = 0777
" >/etc/samba/$name.smb.conf
	echo "已添加独立用户配置......"
	else
	echo "配置已经存在,添加失败....."
	fi
	smbpasswd -a $name -s<<EOF
	$passwd
	$passwd
EOF
	user=`pdbedit -L |grep $name`
	if [ "$user" != "" ];then
	echo "创建完成...... 如果密码不正确请运行smbpasswd -a XXX(用户名)修改密码"
	else
	echo "创建失败...... "
	fi
	if [ "$path" = ""  ];then
	#如果不等于空则增加以下配置
	sed  '/security = user/a 	config file = /etc/samba/%U.smb.conf' /etc/samba/smb.conf
	else
	
	
    sleep 1
    fi
}

function del()										#第二个选项内容
{

    read -p "输入你要删除的用户名(英文字符): " dname
	dpath=`ls /etc/samba/$dname.smb.conf -al|awk -F"[/.]" '{print $4}'`
	if [ "$dname" = "$dpath" ];then
	smbpasswd -x $dname
	userdel -r $dname
	rm -rf /etc/samba/$dname.smb.conf
	echo "删除完成....."
	else
	echo "账户不存在....."
	fi
    sleep 1
}
function  main()							定义循环,只在menu跟mun循环
{
    while true
    do
        menu
        num
    done
}
main    #循环菜单跟选项


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值