ILD

管道实现server和client的例子
作者:Yuan Jianpeng 邮箱:yuanjp89@163.com
发布时间:2019-7-22 站点:Inside Linux Development

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 truedo
    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 $@


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.