4

これは私の構成です(単なる例です):

echo -e "hello: [$(cat file.txt)]"

90% の場合、問題なく動作し、出力 ( foois 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}
4

1 に答える 1