昨日、私もこの質問をしました。すべての答えをありがとう。しかし、私はまだそれを理解していません。
やった
$ exec 6<&0 0</tmp/lines.txt
私は思った:私の標準入力は今リダイレクトされています。しかし、ファイル内の行も実行されます! これだけを行うときのデフォルトのアクションはありますか?これは私の質問です。
まあ言ってみれば
$ cat /tmp/lines.txt
read i j
read i j
echo "i:$i,j:$j">/tmp/res.txt
私は実行を行い、その後実行します
$ cat /tmp/res.txt
i:read,j:i j
しかし、私がするとき
$ exec 6<&0 0</tmp/lines.txt;exec 0<&6 6<&-
何も読み取られず、実行されません。セリフは読めるけどアクションは自分でやらなきゃいけないので、
$ exec 6<&0 0</tmp/lines.txt ;while read i j;do echo "i:$i,j:$j";done
私は私の端末で見る、
i:read,j:i j
i:read,j:i j
i:echo,j:"i:$i,j:$j">/tmp/res.txt
長くなりませんが、よろしくお願いします。
エリック J.