我有两个bash脚本.一个脚本写入fifo.第二个从fifo读取,但在第一个结束后写入.
但有些东西不起作用.我不明白问题出在哪里.这里的代码.
第一个脚本是(作者):
#!/bin/bash
fifo_name="myfifo";
# Se non esiste, crea la fifo;
[ -p $fifo_name ] || mkfifo $fifo_name;
exec 3<> $fifo_name;
echo "foo" > $fifo_name;
echo "bar" > $fifo_name;
Run Code Online (Sandbox Code Playgroud)
第二个脚本是(读者):
#!/bin/bash
fifo_name="myfifo";
while true
do
if read line <$fifo_name; then
# if [[ "$line" == 'ar' ]]; then
# break
#fi
echo $line
fi
done
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?谢谢
将第二个脚本替换为:
#!/bin/bash
fifo_name="myfifo"
while true
do
if read line; then
echo $line
fi
done <"$fifo_name"
Run Code Online (Sandbox Code Playgroud)
这只会打开一次fifo并从中读取每一行.