次のbashスクリプトコードを考えてみましょう。
#!/bin/bash
function bug_part() {
cat $1 > sample.first
cat $1 > sample.second #second time you open file $1, it contains no data
}
bug_part <(echo "TEST")
[ "$(cat sample.first)" != "$(cat sample.second)" ] && echo "THIS IS A BUG" 1>&2 && exit 1
rm sample.first sample.second
この問題がbashバグであることに同意しますか?それともLinuxのバグですか?
後ろから何が起こっているのか知っている人はいますか?
ベストアンサー1
私はこれが間違いだとは思わない。次のコマンドで接続された名前付きパイプを読み書きできます。プロセスの交換一度だけ。