Mos*_*ari 1 bash file-descriptors stdout
考虑这个 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
Run Code Online (Sandbox Code Playgroud)
你同意我说这个问题是 bash 错误吗?还是Linux错误?
有没有人确切知道背后发生了什么?