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
|