21,886
社区成员
发帖
与我相关
我的任务
分享
#!/bin/bash
tmp_fifo="/tmp/$$.fifo"
mkfifo $tmp_fifo #创建管道描述符文件
exec 6<>$tmp_fifo
rm $tmp_fifo
file="/tmp/file.t" #假设这个文件有10来行 ,内容随意,正常就行
for((i=0;i<10;i++));do
echo 1
done>&6
while read line;do
for((i=0;i<6;i++));do
read -u6 k #这里文件描述符只有一个1了 程序处于挂起状态
echo k
done
done < $file #后面从定向
#将读取文件换成下面就可以取出6个1
while read line < $file
do
for((i=0;i<6;i++));do
read -u6 k #这里文件描述符只有一个1了 程序处于挂起状态
echo k
done
done