LinuxSir.cn,穿越时空的Linuxsir!

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

帮我看看这段程序错在哪里?

[复制链接]
发表于 2003-8-19 21:03:57 | 显示全部楼层 |阅读模式
Javalee谢谢你前面的指点,我想还要请你帮我个忙,帮我看看我这段程序那里错了,我不太会写程序,希望你多多指点,谢谢!这是一段KSH的程序,用来判断所登陆到系统中的是在哪个集合里的,当该集合中的人数超过配额后,则在有人登陆时使其退出UNIX系统:

set -A LM szdlm00 szdlm01 szdlm02 szdlm03 szdlm04 szdlm05 szdlm06
set -A ENG szden00 szden01 szden02 szden03 szden04
set -A OPR szdlm10 szdlm11 szdlm12 szdlm13 szdlm14 szdlm15
a=0
b=0
c=0
if [$LOGNAME in "LM{LM
  • }"]
      then {a++
             if a>3 then
                 {echo "你们部门的用户名额已满,请稍后在试"
                   pause
                   exit}
             else
                   contiue
             fi}
    else if [$LOGNAME in "ENG{ENG
  • }"]
           then {b++
                if j>3 then
                   {echo "你们部门的用户名额已满,请稍后在试"
                   pause
                   exit}
                else
                    contiue
                fi}
         elif if [$LOGNAME in "OPR{OPR
  • }"];
                then {c++;
                      if c>9 then
                         {echo "你们部门的用户名额已满,请稍后在试"
                          pause
                          exit}
                      elif contiue
                      fi}
               fi
          fi
    fi
    我用KSH测试时显示第一个ELSE有问题,我不太清楚,所以想请你我看一下,大家多来帮帮我的忙啊,谢谢各位了!!!!:thank
  • 发表于 2003-8-20 00:02:00 | 显示全部楼层
    这是KSH的脚本?:ask
    你什么系统呀?...
     楼主| 发表于 2003-8-20 08:40:23 | 显示全部楼层

    HP Unix

    我用的是HP-UNIX的服务器
    但是用KSH时说第一个"else"有问题
    发表于 2003-8-20 11:46:48 | 显示全部楼层
    你的脚本在我的系统上根本无法运行!:sorry
    不过不知道你的系统上有没有查看登录用户的命令,像w,如果有的话可以通过对登录信息的处理取得登录人数,然后kill调超过配额的用户,我想这样做比你用集合的方法简便!
     楼主| 发表于 2003-8-20 19:31:55 | 显示全部楼层
    那怎么做?我是要在用户在登陆到系统时候系统自动操作,来决定是否要让他登陆,不是手动,所以才想到用集合的,
    发表于 2003-8-20 21:02:00 | 显示全部楼层
    你到这里看看:
    http://www.linuxsir.cn/bbs/showthread.php?threadid=29701
    之--<<禁止用户登录脚本>>,看看是否对你有启发;)
     楼主| 发表于 2003-8-21 21:31:17 | 显示全部楼层
    终于搞定了,谢谢你啊javalee,我改了一下循环,终于通过测试了,
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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