- 論壇徽章:
- 0
|
做了個模訪icq的腳本來玩玩,建一個icq用戶,考入icq.sh,此用戶必須要有系統(tǒng)命令icq的授權(quán)。再用戶目錄下建用戶表user.dat ,格式為每行三列: 序號 TTY號 網(wǎng)點名
還有很多地方需要改進,請各位高手多出手啊,謝謝!
user.dat:
1 ttyp0 樂山
2 ttyp1 沙灣
3 ttyp2 現(xiàn)業(yè)
4 ttyp3 太平
icq.sh
- #/bin/ksh
- #終端聊天shell V050817
- #修正改進 V050818
- trap 'tput sgr0 ; rm $HOME/talk.temp $HOME/icq.tmp 2>/dev/null ; clear ; exit 0 ' 0 1 3 9 15
- trap '' 2
- tput bold
- clear
- icqname="icq"
- test -e $HOME/user.dat || { echo "\n 用戶配置表 user.dat 不存在\n\n 請聯(lián)系管理人員解決 ^_^ " ; read ; exit 0 ; }
- metty=`tty|awk -F"/" '{print $3}'`
- if [ -e $HOME/icq.tmp ]
- then
- me=`awk '{print $3}' $HOME/icq.tmp`
- if [ "$metty" = "$me" ]
- then
- yourtty=`awk '{print $2}' $HOME/icq.tmp`
- yourname=`awk '{ if ($2=="'$yourtty'") print $3}' $HOME/user.dat`
- mename=`awk '{if ($2=="'metty'") print $3}' $HOME/user.dat`
- mexh=`awk '{if ($2=="'metty'") print $1}' $HOME/user.dat`
- clear ; mesg -y ; echo "\n 你正與 ${yourname} 聊天\n "
- echo "\n ${mename} 正與你聊天,請選擇 ${mexh} 與之對聊\n" >/dev/$yourtty
- /tcb/bin/asroot write $icqname $yourtty ; exit 0
- fi
- fi
- while :
- do
- clear
- who | awk '{print $1,$2}' >$HOME/talk.temp
- sed '/'"$metty"'/d;/^#/d' $HOME/user.dat |awk 'BEGIN{printf("\n%-5s%-10s%-16s\n"),"序號","TTY","用戶名"} \
- {printf("%-5s%-10s%-16s\n"),$1,$2,$3}'
- echo -n "\n 請輸入對方的序號(q鍵退出程序): "
- read xh
- test "$xh" = "q" -o "$xh" = "Q" && exit 0
- yourtty=`awk '{if ($1=="'$xh'") print $2 }' $HOME/user.dat 2>/dev/null`
- test -z "$yourtty" && { echo "\n $xh 未配置TTY\n" ; read ; continue ; }
- ut=`awk '{if ($2=="'$yourtty'") print $2}' $HOME/talk.temp 2>/dev/null`
- test -z "$ut" && { echo "\n ${ut} 終端未登陸\n" ; read ; echo $icqname $metty $yourtty > $HOME/icq.tmp ; continue ; }
- yn=`awk '{if ($1=="'$icqname'" && $2=="'$ut'") print $1,$2}' $HOME/talk.temp 2>/dev/null`
- test -z "$yn" && { echo "\n $icqname 用戶未在 $ut 終端上登陸\n" ; read ; \
- echo $icqname $metty $yourtty > $HOME/icq.tmp ; continue ; } || break
- done
- mesg -y
- clear
- echo $icqname $metty $yourtty > $HOME/icq.tmp
- yourname=`awk '{if ($2=="'$ut'") print $3 }' $HOME/user.dat`
- mename=`awk '{if ($2=="'$metty'") print $3 }' $HOME/user.dat`
- mexh=`awk '{if ($2=="'$metty'") print $1 }' $HOME/user.dat`
- echo "\n 你正與 ${yourname} 聊天\n"
- echo "\n 你正與 ${mename} 聊天\n 請選擇 ${mexh} 與之對聊\n" >/dev/$yourtty
- /tcb/bin/asroot write $icqname $yourtty
復制代碼 |
|