これは私の構成です(単なる例です):
echo -e "hello: [$(cat file.txt)]"
90% の場合、問題なく動作し、出力 ( foo
is in file.txt
):
hello: [foo]
しかし、10% のケースで次のことがわかります (いつ、なぜそれが起こっているのか正確にはわかりません):
hello: []
foo
なぜそれが起こっているのですか?
ps。実際には、私のコードは次のようになります。
STDERR=$(mktemp /tmp/bash-XXXX);
{ something } 2> >( tail -100 | tee $STDERR );
CODE=$?;
if [ $CODE != 0 ]; then
echo -e "ERROR ${CODE}: \"$(cat ${STDERR})\"";
fi
rm -f ${STDERR}