我有两个 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;
第二个脚本是(读者):
#!/bin/bash
fifo_name="myfifo";
while true
do
if read line <$fifo_name; then
# if [[ "$line" == 'ar' ]]; then
# break
#fi
echo $line
fi
done
谁能帮帮我? 谢谢
最佳答案
将第二个脚本替换为:
#!/bin/bash
fifo_name="myfifo"
while true
do
if read line; then
echo $line
fi
done <"$fifo_name"
这只会打开 fifo 一次并从中读取每一行。
关于bash - 从两个不同的脚本写入和读取 fifo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25900873/