1
OS X、bash:開いているファイル記述子では機能しませんが、猫では機能しません
私が取り組んでいるbashスクリプト(UbuntuとOS Xで実行する必要があります)では、何百ものコマンドの出力をファイルにリダイレクトする必要があります。それらすべてに 追加&>...するのではなく、単に exec 9>&1 exec 5<>/tmp/some-file.txt exec 1>&5 これまでのところ良好ですが、これらすべてのコマンドの途中で、ファイル記述子を開いたまま、これまでに書き込まれたすべてを読み取る必要があります。 今、Ubuntuで私は簡単にできます cat /dev/fd/5 または tee </dev/fd/5 ただし、OS Xでは何も出力されません(コマンドはすぐに終了します)。 ただし、less両方を使用してファイルの内容を確認できます。 私は使用することで上記の効果(両方のOSで動作する)を達成できます less /dev/fd/5 | tee しかし、それはハックのようです。 では、なぜOS X lessで表示catできないものを表示できるのでしょうか?(または、すべてのBSDの子孫が影響を受けますか?) または、何か間違ったことをしていますか?