LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 656|回复: 5

请问哪错了?

[复制链接]
发表于 2003-11-2 21:10:27 | 显示全部楼层 |阅读模式
#!/bin/sh
if [ $LOGNAME != root ] then
        echo "对不起,你不是超级用户,无此权限,程序将中止!"
        echo "正在退出程序...."
        exit 1
        echo "程序已退出"
fi
echo "添加,检查,删除系统用户程序"
echo "请问你要(1)添加用户(2)查询用户(3)删除用户"
cat << ENDIT
        1) 添加用户
        2) 查询用户
        3) 删除用户
ENDIT
read answer
case $answer in
1)

        echo -n "请输入你要添加的用户名:"
        read add
        if [ grep "$add" /etc/passwd ] then
                echo "此用户已存在"
                exit 1
        fi
        adduser $add
        ;;
2)
        echo -n "请输入你要查询的用户名:"
        read query
        grep "$query" /etc/passwd
        ;;
3)
        echo -n "请输入你要删除的用户名:"
        read del
        if [ grep "$del" /etc/passwd ] then
                echo "删除用户“
                rmuser $del
        else
                echo "无此用户"
        fi
        ;;
esac
 楼主| 发表于 2003-11-2 21:13:57 | 显示全部楼层

re

忘说了,我的系统是FreeBSD出错信息是Syntax error: "fi" unexpected
但是我感觉没错呀
发表于 2003-11-2 21:17:48 | 显示全部楼层
if  $LOGNAME != root ; then
        echo "对不起,你不是超级用户,无此权限,程序将中止!"
        echo "正在退出程序...."
        exit 1
        echo "程序已退出"
fi
发表于 2003-11-3 14:46:51 | 显示全部楼层
if后面的grep命令不需要[]方括号的.
发表于 2003-11-3 16:26:27 | 显示全部楼层
if [ grep "$del" /etc/passwd ] ; then

这里,你忘了 ;  了
发表于 2003-11-3 16:28:27 | 显示全部楼层
最初由 devel 发表
if [ grep "$del" /etc/passwd ] ; then

这里,你忘了 ;  了

还是develMM心细
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表