問題タブ [tee]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - Tee が与えられたすべての出力を書き込まないのはなぜですか (Bash)?
原因がわからない問題に遭遇しました。説明する最も簡単な方法は、コード例によるものだと思います。
上記の例では、 file_A.txtにはecho出力と関数"test"からのrsync出力の両方が含まれますが、file_B.txtにはecho出力のみが含まれます。どうしてこれなの?
java - Gstreamer Tee/Queue の複数のパイプライン
だから私はJava用のgstreamerを使用していて、ライブビデオストリームを再生して同時に記録しようとしています。今のところ、一度に 1 つずつ実行できますが、両方を同時に実行する方法がわかりません。スレッド化しようとしましたが、両方のスレッドが同じリソースにアクセスしようとしていたため、競合が発生しました。それから、私のtaは、ティーとキューを使用する必要があることを教えてくれました。基本的に、すべての異なるパスが同じリソースを制御しようとするのではなく共有する必要があります(それは私が思うことです)、これを行う方法がわかりませんただし、Javaでは、現在、インターネットにはtシャツに関するJavaの優れたチュートリアルがありません...(少し調べたところ、私のマシンでコンパイルされないコードだけです)私が何をしていたかについてのアイデア
ちょっと長いですが、私が何をしようとしているのかを見るのはとても簡単です。誰かがティーを実装する方法を教えてくれたら (私は試しましたか?)、それは素晴らしいことです。ありがとう!
bash - パイプを介してサブシェルから終了コードを取得する
wget
サブシェルプロセスから終了コードを取得するにはどうすればよいですか?
それで、主な問題はそれ$?
が 0 に等しいということ$?=8
です。
tee
実際にはなくても動作します。
しかし、${PIPESTATUS}
配列(そのケースに関連しているかどうかはわかりません)にもその値は含まれていません。
だから、私の質問は -サブシェルwget
を介して終了コードを取得するにはどうすればよいですか?tee
参考になれば、私の bash バージョンは4.2.20
.
bash - Tee が存在するパイプラインが終了した後、Tee が終了しない
そのため、うまくいかないことを掘り下げたくない人が使用することを意図した、かなり長くて複雑なスクリプトを用意しました。
最近、テスト中にスクリプトが不可解にフリーズしました。簡単に言うと、標準出力と標準エラー出力をログ ファイルに出力できるようにするために、サブシェルでコマンドを実行しました。
スクリプトはプロセス ツリーに存在せず、実行されなくなり、最後のアクションとして書き込むファイルがそこにあり、開かれていないため、完全に終了したように見えます。しかし、ティーは執拗に残った。私はティーを殺しました、そしてスクリプトはその途中で陽気に進みました. こんなことは初めてで、再発防止のために何かできることがあれば教えていただきたいです。どんなアイデアでも大歓迎です。
linux - Linux、パイプコマンドでティーを使用する方法
このコマンドが機能しないのはなぜですか? ファイルを作成し、操作の時間を計測しますが、行数、単語数、および文字数 (wc) は出力しません。
これにより、単語の文字と線が印刷されますが、明らかに、T 部分は無意味です。
URLの単語数をgoogle.gzに送っているからでしょうか?
私はtee、gzip、time、curlを使用して、Google Webページをgzipファイルにダウンロードし、単語数、所要時間を印刷する必要があります。
課題なので、やってくれる人は求めていません。私は、ユーティリティをティーできず、同時に gzip できないという問題を抱えています。
curl で gzip を使用する方法はありますか?
linux - 1つのコマンドでも迅速にteeコマンドを使用
tee
コマンドを使うのは初めてです。
終了するのに時間がかかるプログラムの1つを実行しようとしていますが、進行中に情報が出力されます。'tee'を使用して、出力をファイルに保存し、シェル(bash
)で出力を確認しています。
しかし、問題はtee
、コマンドが終了するまで出力をシェルに転送しないことです。それを行う方法はありますか?
私はDebianとを使用していますbash
。
logging - Jenkins: 777 ファイルへのアクセス許可が拒否されました
いくつかのモジュールをコンパイルして配布するための Jenkins ビルドを作成しました。ビルド コマンド (make
または などant
) の出力は、 という名前のファイルにリダイレクトされますbuild.log
。
面白いことecho
に、を使用してまったく同じファイルにリダイレクトするとtee
、失敗します。
ファイルは存在し、777 のアクセス権があります ( でチェックls -ltrh ../..
)。この書き込みの何が問題なのですか?
bash - Bash: サブシェルのツリー方向が正しく動作しない
しばらく前に CentOS マシンでこれをテストしたところ、うまく機能しました。今、別のマシンでこれを試してみましたが、うまくいきません。何が間違っていますか?
このメッセージが返ってきます。
助言がありますか?
unix - パイプラインでstdoutのラインバッファリングを強制する
通常、stdout
は行バッファリングされます。つまり、引数が改行で終わっている限り、printf
その行が即座に出力されることが期待できます。パイプを使用してにリダイレクトする場合、これは当てはまらないようtee
です。
a
常に\n
終了する文字列をに出力するC++プログラムがありstdout
ます。
単独で実行すると(./a
)、すべてが正しく、適切なタイミングで期待どおりに印刷されます。tee
ただし、 ( )にパイプすると./a | tee output.txt
、終了するまで何も出力されないため、を使用する目的が失われtee
ます。
fflush(stdout)
C++プログラムで各印刷操作の後に追加することで修正できることを知っています。しかし、よりクリーンで簡単な方法はありますか?たとえば、stdout
パイプを使用している場合でも、強制的にラインバッファリングするコマンドを実行できますか?
sql - .sql スクリプトの PostgreSQL クエリ/エラー ログ
ここに問題があります。実行された .sql スクリプトからすべての PostgreSQL 出力を取得して、エラーやクエリ結果を含めてファイルに記録する方法を知る必要があります。
既にスクリプトを \o と \o の開始タグと終了タグで囲んでいますが、これはクエリの結果をログに記録するだけで、成功したことと失敗したことについては何もわかりません。次のような Unix ツールを使用して、PostgreSQL への呼び出しの結果をパイプしようとしました。
...成功しませんでした。この場合の Filename.log は完全に空になります。
ユニバーサル ロギングを有効にしたくありません。自分が作成したスクリプトの成功/失敗だけに関心があり、今後の参考のために記録を残しておくためです。
Oracle では SPOOL を使用し、MySQL では TEE を使用しました。これらは両方とも私のニーズには十分に機能しましたが、 \o にはこの機能がなく、ログを有効にすることもありません。
どんな助けでも大歓迎です。
編集:私が使用しているバージョンは9.1です
編集: 私が抱えている問題は、 -f を使用して < を使用して .sql ファイルを実行すると、本質的に同じ結果が得られることです。エラーはログに記録されず、クエリ結果のみがログに記録されます。何らかの方法で stderr を取得して (それが使用されている場合)、コマンド ラインだけでなく、メッセージをファイルに出力する必要があります。これにより、ファイルは、クエリの結果とエラーが混在した状態で、ファイルを実行したコマンド ラインの結果と本質的に同じように見えます。これを行う必要がある理由は、.sql ファイルのデバッグがはるかに簡単になり、ユニバーサル エラー ログを回避しながら対象のレコードを保持できるようになるためです。