server.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/sh server_fifo= /tmp/server_fifo unlink $server_fifo 2> /dev/null mkfifo $server_fifo while true ; do read STR 0<&9 echo "read cmd: $STR" set -- $STR fifo=$1 shift { $@ } >$fifo 2>&1 <$fifo done 9<> $server_fifo |
client.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/sh server_fifo= /tmp/server_fifo fifo= /tmp/fifo .$$.client cmd () { mkfifo $fifo echo $fifo $@ > $server_fifo cat $fifo unlink $fifo } cmd $@ |