タグ付けされた質問 「stdout」

stdoutは、プロセスのデフォルトの出力ファイル記述子の名前です。`stdout`について特別なことは何もないので、このタグは*使用しないでください*。出力のリダイレクト方法に関する質問には[io-redirection]タグを使用し、ファイル記述子の管理方法に関する質問には[file-descriptors]を使用し、ファイルロックの質問には[lock]を使用し、一般的な質問には[files]を使用しますファイル操作。

2
パイプ、データはパイプラインでどのように流れますか?
パイプラインでデータがどのように流れるのか理解していないので、誰かがそこで何が起こっているのかを明確にしたいと思っています。 コマンドのパイプラインは、ファイル(テキスト、文字列の配列)を1行ずつ処理します。(各コマンド自体が行ごとに機能する場合。)テキストの各行がパイプラインを通過する場合、コマンドは前の入力が入力全体の処理を完了するまで待機しません。 しかし、そうではないようです。 これがテスト例です。テキストのいくつかの行があります。それらを大文字にして、各行を2回繰り返します。私はそうしcat text | tr '[:lower:]' '[:upper:]' | sed 'p'ます。 プロセスを追跡するために、「インタラクティブ」に実行できますcat。入力ファイル名をスキップします。パイプラインの各部分は、行ごとに実行されます。 $ cat | tr '[:lower:]' '[:upper:]' alkjsd ALKJSD sdkj SDKJ $ cat | sed 'p' line1 line1 line1 line 2 line 2 line 2 しかし、完全なパイプラインは、入力が完了するのを待ってからEOF結果を出力するだけです。 $ cat | tr '[:lower:]' '[:upper:]' | sed 'p' I am writing... …

1
Linux:stdoutとstderrをロガーにリダイレクトする方法は?
起動時に実行する必要のあるプログラムがあり、stdoutおよびstderrに出力があり、ロガーコマンドを使用してシステムログにリダイレクトします。私のスタートアップスクリプトには、次のものがあります。 / home / dirname / application_name -v | logger 2>&1& これはstdoutをsyslogにリダイレクトしますが、stderrがコンソールに来るので、コマンドを改良する必要があります。

3
前のコマンドがSTDOUTに書き込んでいる間に別のコマンドをSTDINに入力しても安全ですか?
おそらくこれは以前に回答されたのでしょうが、別の回答へのリンクを歓迎します... bash次のようなシェルコマンドを(シェルで)実行すると: make その後からの出力は、一方でmakeからでスクロールしているSTDOUTのmakeI型の場合は、コマンドmake checkキーを押しenter最初のコマンドの前には、とき、実行を終了するmakeコマンドが最終的に次のコマンドが終了しmake check、右アップし、実行を選択します。 私の質問は単純です: これは危険ですか? この種のラッシュタイピングにより、予期しない動作が発生する可能性はありますか? なぜこれが機能するのですか?
21 bash  shell  stdout  stdin 

2
どのプロセスがSTDOUTに書き込みを行っているかを調べる方法は?
実行中のプロセスの2つのインスタンスがあります。それらの1つは「frEAkIng oUT!」です。また、印刷エラーはSTDOUTに止まりません。 壊れたプロセスを強制終了したいのですが、間違ったプロセスを終了させないようにする必要があります。両方ともほぼ同時に開始され、使用するtopと、どちらもほぼ同じ量のメモリとCPUを使用していることがわかります。どのプロセスが正常に動作していないかを示すものを見つけることができないようです。 最も安全なことは、どのプロセス/ pidがSTDOUTに書き込んでいるかを把握することです。 それを行う方法はありますか?

4
bash:/ dev / stderr:許可が拒否されました
新しいリリースバージョンにアップグレードした後、bashスクリプトでエラーが発生し始めます。 bash: /dev/stderr: Permission denied 以前のバージョンでは、bashのだろう内部で認識(この質問が重複のない理由であるもののファイル名を、この1)と、正しいこと(TM)を行うが、これは今で動作を停止しました。スクリプトを再び正常に実行できるようにするにはどうすればよいですか? スクリプトを実行しているユーザーをグループttyに追加しようとしましたが、これは違いはありません(ログアウトしてから再度ログインした後でも)。 私は問題なくコマンドラインでこれを再現できます: $ echo test > /dev/stdout bash: /dev/stdout: Permission denied $ echo test > /dev/stderr bash: /dev/stderr: Permission denied $ ls -l /dev/stdout /dev/stderr lrwxrwxrwx 1 root root 15 May 13 02:04 /dev/stderr -> /proc/self/fd/2 lrwxrwxrwx 1 root root 15 May 13 02:04 …

4
stdoutへの出力と同時にファイルへのgrep
テキストをに出力するスクリプトがありますstdout。ターミナルでこのすべての出力を確認し、同時にいくつかの行をフィルタリングしてファイルに保存したいです。例: $ myscript Line A Line B Line C $ myscript | grep -P 'A|C' > out.file $ cat out.file Line A Line C ターミナルで最初のコマンドの出力を確認し、2番目のコマンドの出力をファイルに保存します。同時に。私が使ってみteeて、より良い、ない結果、または逆の結果。
18 grep  pipe  stdout  tee 

3
vim:コマンドライン引数による特定の構文の強制
PostgreSQLスキーマを簡単に読みたい場合、それをダンプしてstderrリダイレクトしvimます: pg_dump -h localhost -U postgres dog_food --schema-only | vim - これは与える: vim stdinから読み取るときにファイル名拡張子がないため、構文ハイライトスキーマはありません。したがって、以下を使用します。 :set syntax=sql 与えるもの: 私は怠zyな開発者なのでvim、コマンドライン引数を渡すことでSQL構文を強制的に使用したいと思います。データでset syntax=<whatever>開くたびに再入力する手間を省きstdinます。 vimコマンドライン引数を渡すことで構文を設定する方法はありますか?

3
標準出力から標準エラー出力へ?
あるプロセスのstdoutを別のプロセスのstdinに送信したいのですが、コンソールにも送信したいのです。たとえば、stdoutをstdout + stderrに送信します。 たとえば、私はgit edit次のエイリアスを持っています: git status --short | cut -b4- | xargs gvim --remote ファイル名のリストを画面とに送信したいのxargsですが。 だから、teeこれを行うようなユーティリティがありますか?次のようなことができるように: git status --short | \ cut -b4- | almost-but-not-quite-entirely-unlike-tee | \ xargs gvim --remote

2
lessからファイルに行を書き込む
表示中vimのファイルから別のファイルまでの一連の行を書き込むことができます。例えば、 :1,10 w outfile.txt 行1〜10をoutfile.txtに書き込みます。 を使用してファイルを表示しているときに同じ操作を実行できますlessか?
17 less  stdout 


5
bash:変数を使用してstderr | stdoutリダイレクトを格納します
スクリプトにコマンドオプションを追加するような変数を介してstdoutとstderrをリダイレクトする方法はありますか? たとえば、スクリプトがあります: #!/bin/bash -x TEST=">/dev/null 2>&1" OPT='-p -v' mkdir $OPT 123/123/123 $TEST OPTは-p問題なく置き換えられ、bashはそれをオプションとして解釈することがわかります。ただし、リダイレクトはディレクトリ名として解釈されます。 $ ./test.sh + TEST='>/dev/null 2>&1' + OPT='-p -v' + mkdir -p -v 123/123/123 '>/dev/null' '2>&1' mkdir: created directory `123/123' mkdir: created directory `123/123/123' mkdir: created directory `>/dev' mkdir: created directory `>/dev/null' mkdir: created directory `2>&1' bashと言う方法はありますか。$ VARはリダイレクト名であり、dirs名ではありません。 …

1
プロセスがまだ実行中のログファイルのローテーション
標準出力と標準エラーをログファイルに書き込むプロセスを実行しています/var/log/dragonturtle.log。とにかくログファイルをローテーションし、プロセスを強制終了せずにプロセスが新しいログファイルに書き込み続けることはありますか? 現在何が起こっているのか(以下のlogrotate構成を与えられた場合) プロセスへの書き込み /var/log/dragonturtle.log Logrotateの移動/var/log/dragonturtle.log先/var/log/dragonturtle.log.1 プロセスは書き込みを続けます /var/log/dragonturtle.log.1 私が起こりたいこと: プロセスへの書き込み /var/log/dragonturtle.log コピー/var/log/dragonturtle.logをLogrotate/var/log/dragonturtle.log.1 ログローテートトランケート /var/log/dragonturtle.log プロセスは書き込みを続けます /var/log/dragonturtle.log /etc/logrotate.d/dragonturtle: /var/log/dragonturtle.log { daily missingok rotate 7 compress delaycompress notifempty create 644 dragonturtle dragonturtle }
16 logs  stdout  logrotate 

1
ファイルの代わりに出力を比較するvimdiff
2つのコマンド出力(ファイルなし)を比較しようとしています vimdiff "$(tail /tmp/cachain.pem)" "$(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)" リダイレクト、パイプで遊んでみましたが、vim - -c何かが足りないはずです。誰でも助けてくれますか?
15 vim  stdout  stdin  vimdiff 


1
stderrまたはstdoutにないコマンドの出力
私はこの問題につまずいたので、これがどのように可能か疑問に思っていますか? コマンドの標準実行: # zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 info from server: "Processed 0 Failed 1 Total 1 Seconds spent 0.000017" sent: 1; skipped: 0; total: 1 OK、最初の行のみを取得してみましょう。 # zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 | head -1 sent: 1; skipped: 0; total: 1 標準ヘッドはどうですか? # zabbix_sender -c …
15 shell  stdout  stderr 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.