問題タブ [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.
shell - tee-d ファイルにパイプを追加する簡単な方法
コマンドの出力を後処理で記録してクリーンアップしようとしています(コマンド
を画面に出力しながらファイルに ansi エスケープコードを削除するなど)
(コマンドはとりわけ端末として機能する minicom です)。
現在、私は次のものを持っていますが、機能しません(ブロックしているようです)。
ps
正常に動作します
python - ティード時にPythonがプロセスをデタッチできません。バックグラウンドプロセスにまたがって、待たずに終了する方法は?
私は簡単なテストケースから始めました:
コマンドラインでそのコードを定期的に実行すると、次のように機能します。
UNIXプロンプトを返し、xtermはバックグラウンドで実行されています。
ただし、そのコードをTシャツで実行すると
xtermを閉じるまでunixプロンプトが表示されません。
Pythonスクリプトを終了させながら、xtermをバックグラウンドで実行し続けるにはどうすればよいですか?
私が見たのは、Pythonが子サブプロセスを生成し、デタッチして終了し、そこで言及されているactivestateレシピです。そのコードを使用して、バックグラウンドでxtermを開くだけの簡単なテストケースを作成しました。
コマンドラインでそのコードを定期的に実行すると、次のように機能します。
UNIXプロンプトを返し、xtermはバックグラウンドで実行されています。
ただし、そのコードをTシャツで実行すると
xtermを閉じるまでunixプロンプトが表示されません。
Pythonスクリプトを終了させながら、xtermをバックグラウンドで実行し続けるにはどうすればよいですか?
bash - コンソールに出力を表示しながら、Jenkinsのcurlからシェルエラーコードを取得する
Jenkinsでシェルスクリプトを使用しています。このスクリプトは、ある時点で、curlを使用してサーバーにファイルをアップロードします。出力curlが生成するものを確認するだけでなく、それが期待する出力であるかどうかも確認したいと思います。そうでない場合は、シェルエラーコードを> 0に設定して、スクリプトが失敗したことをJenkinsが認識できるようにします。
最初にを使用してみcurl -f
ましたが、アップロードが失敗するとすぐにパイプが切断され、エラー出力がクライアントに届きません。それから私はこのようなことを試みました:
これは通常のSSHシェルから機能しますが、Jenkinsコンソールの出力には次のように表示されます。
Jenkinsが通常のSSHシェルを使用してスレーブと通信していると思ったので、これがなぜなのかわかりません。いずれにせよ、xargs + test全体が、ちょっとしたハックだと思います。
Jenkinsでこれを実現して、出力を確認し、特定の文字列と一致するかどうかをテストする方法はありますか?
windows - stdout をファイルに送信する
私は Windows XP で作業していますが、stdout から出力を取得してファイルに書き込む方法はあるのでしょうか。コンソールとファイルに書き込めるようにする必要がありますが、tee のようなものを使用してもうまくいきません。
私の上司は、しばらく時間がかかるアプリケーションに取り組んでおり、コンソールに書き込んでいます。最後に、標準出力を数行巻き戻し、出力をファイルに書き込みたいと考えています。彼は、画面に何かが書き込まれるたびにファイルに書き込むのは I/O が多すぎると考えています。私は完全に間違っているかもしれませんが、それが tee コマンドの仕組みではありませんか? stdout は tee にパイプされ、出力がコンソールに書き込まれ、次に指定されたファイルに書き込まれます。
これは可能ですか?stdout がファイルディスクリプタであることは知っているので、他のファイルを巻き戻せるのでできるはずだと思っていたのですが、stdout は書き込み専用ですか?Unix では、stdout がファイル dev/stdout であることを知っています。
ありがとう
bash - Unix: ファイルの先頭に出力を追加するにはどうすればよいですか?
>>
具体的には、カスタム エイリアスでとの組み合わせを使用して、tee
新しい Homebrew の更新をテキスト ファイルに保存し、画面に出力しています。
質問: この出力をテキスト ファイルの先頭に追加したい場合、つまり、ファイルの末尾ではなく先頭に追加したい場合はどうすればよいですか?
Edit1 :誰かが以下の回答で報告したように、一時ファイルの使用は良いアプローチかもしれません。これは少なくとも部分的に私を助けました:
しかし、問題は STDOUT への出力 (以前は tee によって可能だった) であり、この一時ファイルのアプローチに組み込むことができるかどうかはわかりません…?
solaris - 2ブロックのコードにティー?
Solarisでteeコマンドを使用して、1つのコマンドの出力をそれぞれが複数のステートメントで構成される2つの異なるスチームにルーティングしようとしています。これが私がコーディングしたもののスニペットですが、機能しません。この反復により、予期しないファイルの終わりに関するエラーがスローされます。>を|に変更すると 予期しないトークンの近くでエラー構文エラーがスローされます。
提案?
bash - パスワードを2つのコマンドにエコーできますか?
リモートマシンにログインし、1つのコマンドでホームディレクトリをそこにマウントしたいと思います。私はそれをしようとしました:
しかし、それは機能しません。tee
-Yオプションがわからないことを示しており、両方のコマンドを引用すると、正しく機能しません。
編集:
私は、これらの別々に配置されたものも機能しないことを発見しました:
Edit2:
必要な機能(リモートホームをマウントし、そこにログインする-パスワードプロンプトなしの単一のコマンドで)を取得するには、キー(パスフレーズなし-つまりEnter
コードとして入力)を使用して簡単に実行できます。
それでおしまい。その後、次の方法で目的の機能が実現されます。
bash - バッシュティーは色を削除します
私は現在、ターミナルに送られるすべてのものをキャプチャしてログファイルにスローするために以下を使用しています
ただし、カラーエスケープコード/クラッターをログファイルに入れたくありません。だから私はこのようなものを持っています
read
スクリプトの一部(例:echo -n "..."
またprintf
はなし)では理想的ではないキャリッジリターンを待機する場合を除きます\n
。
ジョナサンレフラーの答えへのフォローアップ:
サンプルスクリプトを考えるとtest.sh
:
端末への出力は期待どおりであり、ログファイルに必要なカラーエスケープコード/クラッターはありません。ただし、調べてみると、は表示され
test.log
ません[READ] ...
(の21行目を参照test.sh
)。[私の実際のbashスクリプトの]ログファイルには
Log File: ...
、4および5 fdsを閉じた後でも、その最後に行が含まれています。sleep 1
2番目の前にaを置くことで問題を解決することができましたexec
-競合状態またはfdshenanigansが原因であると思います。残念ながら、この問題を再現することはできませんが、test.sh
誰かが持っているかもしれない憶測に興味があります。
ruby - ティーの試行中にルビーからの出力が失われる(スクリーンとファイル)
機能することがわかったヒントからまとめたコードがいくつかあります。しかし、何かがうまくいかず、私は困惑しています。画面には何も送信されず、ファイルは空です。
プログラムは次のとおりです。