web-dev-qa-db-ja.com

GNU Bashマニュアルに `time`がないのはなぜですか?

[fakename]$ help time
time: time [-p] pipeline
    Report time consumed by pipeline's execution...

このことから、timeはBashビルトインのようです。ただし、このページでその説明を見つけることができません。 https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html#Shell-Builtin-Commands =。これはなぜですか?

11
extremeaxe5

bash manpage の「Shell Grammar/Pipelines」サブセクションで説明されています。 Pipelines セクションで提供したリンクでも説明されています。このセクションでは、 "Reserved Words" の下にインデックスが付けられています。

パイプライン

パイプラインは、制御演算子の1つで区切られた1つ以上のコマンドのシーケンスです。または|&。パイプラインの形式は次のとおりです。

[time [-p]] [ ! ] command [ | or |& command2 ... ] 

コマンドの標準出力は、パイプを介してコマンド2の標準入力に接続されます。この接続は、コマンドで指定されたリダイレクトの前に実行されます(下記のリダイレクトを参照)。 |&を使用すると、コマンドの標準エラーがパイプを介してcommand2の標準入力に接続されます。 2>&1 |の省略形です。この標準エラーの暗黙的なリダイレクトは、コマンドで指定されたリダイレクトの後に実行されます。

Pipefailオプションが有効になっていない限り、パイプラインの戻りステータスは、最後のコマンドの終了ステータスです。 pipefailが有効になっている場合、パイプラインの戻りステータスは、ゼロ以外のステータスで終了する最後の(右端の)コマンドの値、またはすべてのコマンドが正常に終了した場合はゼロです。予約語なら!パイプラインの前にある場合、そのパイプラインの終了ステータスは、上記の終了ステータスの論理否定です。シェルは、パイプライン内のすべてのコマンドが終了するのを待ってから、値を返します。

予約されたWordの時間がパイプラインの前にある場合、パイプラインの終了時に、その実行によって消費された経過時間とユーザー時間およびシステム時間が報告されます。 -pオプションは、出力形式をPOSIXで指定された形式に変更します。 TIMEFORMAT変数には、タイミング情報の表示方法を指定するフォーマット文字列を設定できます。以下のシェル変数のTIMEFORMATの説明を参照してください。

パイプラインの各コマンドは、個別のプロセスとして(つまり、サブシェルで)実行されます。

22
NickD

Bashリファレンスマニュアルは、infoを使用してコンソールで表示できます。次に、ユーザーはiキーを押してキーワードを検索し、キーワードを入力してEnterキーを押します。 infoは、キーワードに関連付けられた、マニュアル内の最初の場所にジャンプします。押す ,他の場所にアクセスします。詳細については、GNU情報マニュアル、オンライン、またはinfo info。実際、マニュアルでキーワードをすばやく見つけるために最も重要なことは、既存のインデックスを使用することです。

この問題に関する本質的な事実は、timebuiltinではなく、バッシュ予約語またはキーワード

#関連項目

5
Fólkvangr