問題タブ [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 - bash スクリプト内のティーとパイプライン
bash の stout と stderr をそれぞれ個別のファイルにリダイレクトする必要があります。さて、私はこのコマンドを完了しました:
コマンドラインから実行すると正常に動作します。
まったく同じコマンドをbashスクリプトに入れようとしています
次のようなエラーが発生します。
このコマンドを $( )、` ` などでカバーしようとしましたが、まったく効果がありません :(
すでに何時間も遊んでいるので、提案やアドバイスをいただければ幸いです:/
どうもありがとうルネ
ant - Ant SecureInputHandler:teeで使用すると、パスワードをクリアテキストで出力します
Antのセキュアハンドラーを使用してパスワードを入力します。
もちろん、それは機能します。入力は印刷されません。
ただし、(ビルドログを保存するために)ビルドを次のように実行する場合
入力はクリアテキストで印刷されます。おっと。
問題はどこにあるのでしょうか(ant?tee?)、それを修正する方法を教えてください。
PS OS:
PPS OK、つまりteeではありません。teeの代わりにread / echoを使用するシェルスクリプトは、同じ動作をトリガーします。
linux - Linux: ssh 経由で tee コマンドを使用する
私は Fortran プログラム (ここでは program.exe と呼びましょう) を作成し、いくつかのシミュレーションを行いました。sshを介して、遠く離れたコンピューターにログインして、そこで実行を開始し、数日後に結果を収集しています。プログラムがどのように進行するかを最新のものにするために、シェル出力をテキストファイル output.txt にも書き込みたいと思います (常に遠く離れたコンピューターにログインすることはできないため)。コマンドは次のようになります
これにより、プログラムがまだ実行を終了していなくても、output.txt を見て現在のステータスを確認できます。上記のコマンドは、ローカル マシンで正常に動作します。最初にコマンド '>' を試してみましたが、ここでの問題は、プログラム全体が終了するまでテキスト ファイルに何も書き込まれないことでした (おそらくパイプ バッファに関連していますか?)。そこで、「tee」で回避策を使用しました。
問題は、ssh (ssh -X user@machine) 経由でコンピューターにログインし、上記のコマンドを実行して VI エディターで output.txt を確認すると、プログラムが終了するまで何も表示されないことです。「nohup」と「&」を省略すると、終了するまでシェル出力すら得られません。私の考えでは、ssh によってバッファリングされているデータで何かをしなければならないかもしれないということでしたが、私はむしろ Linux の初心者です。アイデアや回避策については、とても感謝しています!
linux - ティーコマンド unix
これらすべてのサービスをログ ファイルに記録するにはどうすればよいですか。
これらすべてのサービス ログをファイルに保存したい
使用する必要があります:
または:
このような質問は見つかりませんでした ありがとうございます!
c - C で Linux コマンド ティーをシミュレートする
tee
Linux 用の C でコマンドのシミュレーションを行う必要があります。tee
内部的にはどのように機能しますか? T字パイプに見えますが、パイプを使ったほうがいいですか?特別な種類のパイプはありますか?
bash - 標準出力を変数にキャプチャしますが、コンソールには表示します
いくつかの実行時間の長いプロセスを呼び出す bash スクリプトがあります。処理上の理由から、これらの呼び出しの出力を変数にキャプチャしたいと考えています。ただし、これらは長時間実行されるプロセスであるため、rsync 呼び出しの出力を事後ではなくリアルタイムでコンソールに表示したいと考えています。
この目的のために、私はそれを行う方法を見つけましたが、テキストを /dev/stderr に出力することに依存しています。/dev/stderr への出力は良い方法ではないと感じています。
上記の例では、rsync を数回呼び出しており、処理中のファイル名を確認したいのですが、後で解析するため、最終的には出力を変数に入れたいと考えています。
これを達成するための「よりクリーンな」方法はありますか?
違いがある場合は、Ubuntu 12.04、bash 4.2.24 を使用しています。
powershell - Powershell: 結合出力のキャプチャ、エラー出力のみ、結合出力のコンソールへの送信
一連の scala スクリプトを実行する Powershell スクリプトを作成しています (ビルド ツールを使用しない理由があります)。これらすべてのコンパイルの出力を次のように生成したいと思います。
- ファイル内のコンパイル エラーのみ
- 2 番目のファイルに結合されたコンパイル エラーと標準出力
- 標準出力とコンパイル エラーも標準出力に出力されます
私はtee、2>>を試し、さらに-OutVariableと-ErrorVariableを突き刺しました (後者の 2 つはネイティブの Powershell コマンドでのみ機能するようです?)。ティーとリダイレクトはいくつかの組み合わせで正しいアプローチだと思いますが、かなりの検索を行った後、適切なフォーラムが見つからないようです。
エラーをリダイレクトするだけの現在のメインループは次のとおりです。
最初の行は、プロセスを見ている人が何かが起こっていることを確認できるようにするためのものです (適切なティーイング/リダイレクトなどにより、副作用としてこれが解消されるようです)。
ヘルプ/ポインタをありがとう; 私は Powershell のカジュアルなユーザーです。
アップデート:
さらに探し回った結果、次の結果が得られました。
teeコマンドはテキストをファイルに送信できることがわかりましたが、何らかの奇妙な理由でファイルに追加できません。したがって、出力を変数にキャプチャしてから、変数をファイルに追加する必要があります。
この結果によって問題の一部は解決されますが、それでもエラー メッセージのみを含むファイルは生成されません。
bash - ストリームを分離したまま、stdout+stderr を 1 つのファイルにリダイレクトする方法は?
stdout に出力しながら両方がファイルに書き込まれるように stdout+stderr をリダイレクトするのは簡単です。
しかし、今ではcmdからのstdout/stderrの両方がstdoutに来ています。stdout+stderr を同じファイルに書き込みたいのですが (したがって、cmd がシングル スレッドであると仮定して順序が保持されます)、次のように個別にリダイレクトすることもできます。
したがって、結合された出力には順序が保持された両方が含まれますが、command-expecting-stdout は stdout のみを取得し、command-expecting-stderr は stderr のみを取得します。基本的に、stdout と stderr を個別にリダイレクトしてパイプ処理できるようにしながら、stdout+stderr をログに記録したいと考えています。ティーアプローチの問題は、それらを一緒にグロブすることです。bash/zsh でこれを行う方法はありますか?
shell - スクリプト出力をリダイレクトし、同時にリアルタイムで表示します
複数のスクリプトからの出力を表示し、同時に stout/stderr をログ ファイルに書き込むことに関して、おそらく単純な (そしておそらく既に回答されている) 質問があります。
次のような別のスクリプトを呼び出すスクリプト「my_script.sh」があります。
他の操作の中で my_to_be_logged_script.sh は、次のような Python スクリプトと別のシェル スクリプトを呼び出します。
まず、すべてが LOGFILE に適切に記録されます。
シェル スクリプトの出力はリアルタイムで表示されますが、コンソールには Python スクリプトの出力が表示されるのは、Python スクリプトが完了したときだけです。Python 出力をリアルタイムで表示する方法はありますか?
function - シェルスクリプトでティーを使用した stdoutt および stderr リダイレクト
以下のコードを使用して、出力/エラーをコンソールとログファイルに出力しようとしています。
fun1(){
echo "fun1 の内部"
楽しい2
変数=5
}
fun2(){
echo "fun2 内"
}
楽しい1 2>&1 | ティー - a testlog.txt
echo $var # null 値の出力
fun1 の実行後に var の値を 5 として出力する方法はありますか?? コンソールとログ ファイルの両方に出力が必要です。また、fun1 は 1 回だけ実行する必要があります。
助けてください。