この資料は Rust 製のコマンドラインツール teetty について紹介するものです。
Rustの環境構築やツールのインストール方法については以下を参照してください
tee や script に少し似ていますが、すべてptyを使っています。リモートコントロールやプロセスの監視を可能にします。
teetty は、リモートコントロール機能を提供しながら pty でコマンドを実行するための ラッパーバイナリです。これにより、プロセスの標準出力をファイルにロギングすることができ、出力は teetty を通さない場合と何ら変わることはありません。プログラムから見ると、端末に接続されています。しかし、同時に teetty は出力をターミナルとオプションのログファイルの両方に多重化し、ユーザのキーボードが接続されたままプログラムにリモートで入力を送ることもできます。基本的な機能は tty-spawn クレートで利用可能です。
teetty [OPTIONS] -- [COMMAND ...]
-h
, —help
ヘルプ情報の表示-—version
バージョン情報の表示-i
, --in
<PATH>
FIFOまたはファイルへのパス
指定された場合、その内容を監視し、入力として端末に送信する-o
, --out
<PATH>
オプションの出力ファイルへのパス
端末の出力に加え、このファイルにも出力される--truncate
このフラグが設定されている場合、出力ファイルは最初に切り捨てられる-s
, --script-mode
スクリプトモードを有効する
スクリプトモードでは、stdout/stderr の分離を維持し、raw モードとページャを無効にする
この結果、最終的には、ほとんどのツールで、端末に接続されていることになる。
キーボード入力は通常動作しません。
このモードでは、インタラクティブ性を必要としないが、実行ファイルを端末に接続しているように見せたいようなときに使用します。