Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104673184
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-18 22:37:45

作者:styr  出处:Unix爱好者家园unix-cd.com   

rwall是针对IP和远程主机的,没试过,echo 也只能互发信息而不能互动,界面不行,那就用write做了个简单的icq.sh,限于write,目前只实现了在同一主机下的所有终端互聊。

icq.sh说明:

  1)由于write默认为root权限,普通用户要使用write必须要先由root授权,可参照

授权成功后,可建一普通聊天用户icq(呵呵,不爽就自已改改) ,

2)用户.profile里最后一行最好加上

trap '' 2 ; icq.sh ; exit 0  

因为write是不需要对方同意就会发送信息的,那如果icq用户滥用write影响大家的好心情的,呵呵,,,,

3)再将icq.sh拷到icq用户根下,

4)给个x权限,

5)以后icq用户登陆 即可进入脚本。

脚本要求:必须要对方TTY开启并已用icq用户登陆才能与之互聊,聊完之后按Ctrl-d即可退出。

已在sco5.0.5 ksh下测试通过,在unix下自已和自已聊起来还是别有一番风味的 ^_^

如果各位终端做了TTY绑定,那还可以再改进一下,可以不用输入TTY而改用根据网点名来选择聊天对像,也可再加入聊天之前必须确认是否同意对聊,难的是如果要加远程根据IP来选择聊天对像,那wirte就不行了,如知道更好的聊天命令的,共享一下先吧.目前这个shell界面功能也不是那么好。那就先来个抛砖引玉,各位请多修正改进

#/bin/ksh
#终端聊天shell V050817
trap 'tput sgr0 ; rm $HOME/talk.temp 2>/dev/null ; exit 0 ' 0 1 3 9 15
trap '' 2
tput bold

w|sed '1,2d' |awk '{print $1,$2}' >$HOME/talk.temp
yn=`awk '{if ($1=="icq") print $1}' $HOME/talk.temp 2>/dev/null`
test "$yn" || { echo "\n       icq 用户未登陆\n" ; read ; exit 0 ; }

echo -n  "\n       请输入对方的tty号:   "
read usertty

yn=`awk '{if ($2=="'$usertty'") print $2}' $HOME/talk.temp 2>/dev/null`
test "$yn" || { echo "\n       ${usertty} 终端未登陆\n" ; read ; exit 0 ; }

yn=`awk '{if ($1=="icq" && $2=="'$usertty'") print $1,$2}' $HOME/talk.temp 2>/dev/null`
test "$yn" || { echo "\n       icq 用户未在 $usertty 终端上登陆\n" ; read ; exit 0 ; }
mesg -y
/tcb/bin/asroot write scabs $usertty

阅读(297) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~