文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>简漏的终端聊天程序icq.sh

简漏的终端聊天程序icq.sh

时间:2008-04-18  来源:sdccf

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

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

icq.sh说明:

  1)由于write默认为root权限,普通用户要使用write必须要先由root授权,可参照http://unix-cd.com/unixcd12/article_view.asp?id=1304

授权成功后,可建一普通聊天用户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

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载