#!/bin/bash set -o monitor echo -e "+++ hello\n+++ welcome to the bash talker\n+++ only two commands: .time, .quit\n+++ emote with ;\n+++\n+++ what's your name ?" read X X=`echo $X | sed 's/ $//'` echo "+++ welcome, $X" cd `dirname $0` /bin/touch talk echo "+++ $X has connected" >> talk /usr/bin/tail -n 0 -f talk & read Y while [ ".quit " != "$Y" ] ; do case "$Y" in ".time ") date | sed 's/^/+++ /';; \;*) Y=`echo $Y|sed 's/^;//'` echo "$X $Y" >> talk;; *) echo "$X :$Y" >> talk;; esac read Y done jobs -p | xargs kill -9 echo "+++ bye then" echo "+++ $X has disconnected" >> talk