不少语言写的菜单脚本,不是太长了就是太乱了
以下就是简单的变量脚本
#!/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 #循环菜单跟选项
shell 简单的选择菜单脚本
最新推荐文章于 2026-04-15 17:43:31 发布
本文介绍了一个用于管理SMB用户的Shell脚本。该脚本提供了添加、删除SMB用户的功能,并通过简单的菜单引导用户进行操作。

1271

被折叠的 条评论
为什么被折叠?



