Pipe使用
使用 tail -f
連接的兩個命名 PIPE (PIPE_in/PIPE_out) |發送到 PIPE_in 的字元串未到達 PIPE_out
1.創建命名管道,
pipe_in
並pipe_out
執行:$ mkfifo pipe_in $ mkfifo pipe_out
2.連接
pipe_in
到pipe_out
:TERM0: $ tail -f pipe_in > pipe_out
3.將字元串
hello world!
發送到pipe_in
並期望它到達pipe_out
:TERM1: $ tail -f pipe_out TERM2: $ echo "hello world!" > pipe_in
pipe_out
如果我在中殺死命令,我只能看到到達的字元串2.
。這似乎是一個緩衝問題,所以我決定執行上面的所有命令,stdbuf -i0 -e0 -o0 <command>
但它沒有用。
tail
僅輸出文件/流的最後 n 行。當您仍在生成行時,它無法知道哪些是最後的 n。你試過類似的東西
cat
嗎?
請參閱@ctrl-alt-delor 的答案,了解它不起作用的原因。但是您仍然可以通過以下方式實現相同的目的
cat
: