スクリプトを実行してその内容を端末に出力する必要があります。 それから、最後の10行をターミナル出力から取得し、ログファイルに入れたいとします。 私は./script.sh 2>&1 | tail -10 > log.log
を使用しようとしましたが、これは端末への出力を停止します。ターミナルに出力を表示し、最後の10行をログファイルに末尾に入力してください
1
A
答えて
1
レバレッジプロセス置換:
./script.sh |& tee >(tail -10 >file.txt)
|&
パイプ上STDOUTとSTDERRの両方を送信するためのショートカットです。
tee
は、それが両方のSTDOUTへと引数(複数可)として与えられたファイル(複数可)にSTDINをだリダイレクトする - 私たちは、ファイルディスクリプタを取得するために、プロセス置換を使用して所望のコンテンツを保存するために、プロセス置換内tail -10 >file.txt
を使用していました。
+1
これはまさに私が必要としていたものです。ありがとう – Orion
1
そのためには、tee
コマンドを使用する必要があります。その後、ファイルとコンソールにパイプすることができます。 tee
とbash
の
ls -a | tee output.file
+0
./script.sh 2>&1 |テール-10 |この場合、tee log.logが動作します –
関連する問題
- 1. ワードプレス|リンクの末尾にユーザー名を入力してください
- 2. HTML番号入力時に末尾の10進数ゼロを表示する
- 3. ターミナルでログファイルにタイムスタンプを出力
- 4. URLの最後に末尾のスラッシュを削除してください
- 5. テキストの入力幅は最大で1行に入力してください
- 6. もう1つ入力ファイルの最後の末尾にエラー
- 7. 入力ボックスを入力欄と同じ行に入力してください
- 8. 'read -s'を中断した後にターミナル入力が表示されない
- 9. navigator.pop()の後にネイティブのデータを入力してください
- 10. cURLスクリプト$ urlに入力値を入力してください
- 11. 入力ボックスにjavascriptを入力してください
- 12. 端末の出力を参照してください
- 13. URLの最後から末尾の「/」を削除してください
- 14. ブートストラップ行に空の列を入力してください
- 15. JUnitで '@Test'の後に '@After'の後に '@Rule'を入力してください
- 16. オープンテーブルに「パラメータ値を入力してください」と表示されます
- 17. 端末の上部に特定の出力を残してください
- 18. モノログのログ行に最後の括弧を表示しないでください。ログファイルLaurentCommand.logで
- 19. テキスト入力の値の末尾にカーソルを置く
- 20. 二重リンクリストの先頭と末尾に挿入 - 最後のテールアイテムのみを出力します
- 21. テキストと表を空白で入力してください/入力してください
- 22. .desktopファイルから端末に入力を加えて出力を表示
- 23. スクロール後にdivを表示し、ページの末尾にdivを表示します
- 24. なぜPythonスクリプトを実行した後に端末に出力が表示されないのですか?
- 25. ユーザー入力に基づいてデータテーブルを入力してください
- 26. 前に選択せずに入力を入力してください。 HTML/JS?
- 27. QRコードに値を入力せずに入力してください
- 28. 入力後にエコーで入力したテキストを表示PHP
- 29. 入力フォーカスにDatePickerを表示しないでください。アイコンクリックのみ
- 30. 各機能ごとにvba char(10)を入力してください。
./script.sh 2>&1 | tail -10> log.logこれは動作しているようです。出力をコンソールにも出力しますか? –
yesログ全体をコンソールに出力し、最後の10行をログファイルに追加したい場合 – Orion
Stonyが述べたように、これにはteeコマンドを使用してください。\t ./script.sh 2>&1 |テール-10 | tee log.log –