POSIX
標準に準拠することを前提として、Unix / Linux実装で機能するソリューションを次に示します。Unix以外の環境でcygwin
も動作します。
echo 'ee' | tee /dev/tty | foo
参照: The Open Group Base Specifications Issue 7 IEEE Std 1003.1、2013 Edition、§10.1:
/ dev / tty
そのプロセスのプロセスグループに関連付けられています(ある場合)。これは、出力がどのようにリダイレクトされても、端末へのメッセージの書き込みまたは端末からのデータの読み取りを確実にしたいプログラムまたはシェルプロシージャに役立ちます。入力された出力が必要で、現在使用中の端末を見つけるのが面倒な場合に、出力用のファイル名を要求するアプリケーションにも使用できます。各プロセスでは、制御端末の同義語
Google Colabのような一部の環境は、使用可能なデバイスを返すコマンドが/dev/tty
まだある間は実装されないことが報告されていtty
ます。これは回避策です:
tty=$(tty)
echo 'ee' | tee $tty | foo
または古代のボーンシェル:
tty=`tty`
echo 'ee' | tee $tty | foo
echo 'ee' | tee /dev/stderr
ので、あなたの場合は作品しかし、「画面上の」やる要件があまりにも標準エラー出力によって満たされます。