LinuxSir.cn,穿越时空的Linuxsir!

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

这段shell哪里有问题?

[复制链接]
发表于 2003-12-31 09:24:28 | 显示全部楼层 |阅读模式
哪位大哥帮我看看下面这段shell哪里出问题了!谢谢
#!/bin/sh -x
aatty=`who am i | cut -c16-22`
bbpc=`who | cut -c10-15`
for i in $bbpc
do
  if [ $i  !=  $aatty ]
  then
    echo "$i is being killed now!"
    mkill $i
    fi
done
发表于 2003-12-31 12:36:05 | 显示全部楼层

回复: 不知为什么?

  1. #!/bin/sh
  2. aatty=`whoami`
  3. bbpc=`cut -f1 -d":"`
  4. for i in $bbpc
  5. do
  6.   if [ $i  !=  $aatty ]
  7.   then
  8.     echo "$i is being killed now!"
  9.     mkill $i
  10.     fi
  11. done
复制代码
 楼主| 发表于 2004-1-1 11:24:15 | 显示全部楼层
运行时候还是报错呀,不知哪位仁兄可以提供杀除所有登陆用户的代码,当然自己的可不能被kill?谢谢
发表于 2004-1-1 12:47:20 | 显示全部楼层
aatty=`who am i | cut -c16-22` #who am i 是什么系统命令:ask 我就知道有个whoami,
bbpc=`who | cut -c10-15` # 结果是什么 :ask
杀用户进程的脚本到置顶的[脚本欣赏区]去找!
<<禁止用户登录之脚本:>>
http://www.linuxsir.cn/bbs/showthread.php?threadid=29701
 楼主| 发表于 2004-1-1 13:52:05 | 显示全部楼层
aatty=`who am i | cut -c16-22  是redhat linux的命令和比whoami显示的信息更详细,
bbpc=`who | cut -c10-15` # 结果是定义了一个可以显示所有登陆用户端口的变量
发表于 2004-1-1 14:07:44 | 显示全部楼层
[/home/javalee]who am i | cut -c16-22 #没显示
[/home/javalee]who | cut -c10-15
:0
 楼主| 发表于 2004-1-1 14:30:06 | 显示全部楼层
老大:不会吧,我这里可有显示的哦!和ps的显示差不多的!
[str0102@jyzbak:/u1]who am i
str0102  pts/4        Jan  1 08:29 (172.16.10.21)
[str0102@jyzbak:/u1]who | cut -c10-15
pts/1
pts/4
pts/5
pts/0
发表于 2004-1-1 15:30:46 | 显示全部楼层
我的是RH8,不知道你用的是啥
杀掉用户进程可以用
kill -9 $(ps -aux|grep username|awk '{print $2}')
补充:
运行脚本之前,最好加个-x选项,以便找出错误所在!
发表于 2004-1-1 16:05:00 | 显示全部楼层
最初由 crazys 发表
运行时候还是报错呀,不知哪位仁兄可以提供杀除所有登陆用户的代码,当然自己的可不能被kill?谢谢
  1. for i in $(ps -aux|grep ^[^root]|awk '{print $2}');do
  2.        
  3.         kill -9 $i
  4. done
复制代码
 楼主| 发表于 2004-1-5 13:50:54 | 显示全部楼层
如果我需要保留住特定某个用户和自己不被杀掉,又该怎么写呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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