Unix 在模式匹配之前,如何阻塞管道?
我如何才能阻塞管道,直到模式匹配为止? 我想这样做:Unix 在模式匹配之前,如何阻塞管道?,unix,pipe,sh,named-pipes,Unix,Pipe,Sh,Named Pipes,我如何才能阻塞管道,直到模式匹配为止? 我想这样做: #!/bin/sh mkfifo request response while true; do # needs to send one response at a time nc -N -l 127.0.0.1 4000 >request <response & # send output to request pipe sed -u '/^$/q' <request; # block until a b
#!/bin/sh
mkfifo request response
while true; do # needs to send one response at a time
nc -N -l 127.0.0.1 4000 >request <response & # send output to request pipe
sed -u '/^$/q' <request; # block until a blank line is received
date | tee response # send input back to the original command
done
#/垃圾箱/垃圾箱
mkfifo请求响应
虽然真实;是否需要一次发送一个响应
nc-N-l 127.0.0.1 4000>请求如果与模式匹配的操作被阻塞,则可以使用cat防止数据从命名管道中流出,直到有东西写入到命名管道中。cat将从指定管道读取数据,直到写入EOF
#!/bin/sh
mkfifo response
while true; do # send one response at a time
cat response | nc -N -l 127.0.0.1 4000 | # pipe request out
(
sed -u '/^$/q' # block until a blank line is received
date | tee response # send input back to the original command
)
done